質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

2996閲覧

Smart Custom Fieldsを使って、カテゴリーに画像を何枚も表示させたい。

totaminotuyu

総合スコア12

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/01/13 21:54

編集2017/01/14 10:35

###前提・実現したいこと
PHPに関しては全くのど素人なので、初歩的な質問になりますが失礼いたします。
wordpressでECサイト構築プラグイン「Welcart Nova」のテーマを使用しております。
カテゴリーに商品詳細写真を何枚も載せたくて、Smart Custom Fieldsを使う事にいたしましたが、カテゴリーの編集ページでは写真の登録画面が出てくるのですが、実際のカテゴリーページに表示させる事がどうしても出来ません!ネットで「Smart Custom Fields」に関して調べて、ほとんどの事をやってみたのですが駄目でした。たんにPHPの記述方法が間違っているのだとは思うのですが、自己解決できませんでした。
ご教授よろしくお願いいたします。
■■な機能を実装中に以下のエラーメッセージが発生しました。

###発生している問題・エラーメッセージ

現在はエラーメッセージは表示されず、画像を表示させたい場所には何も出てこない状態です。

###該当のソースコード

<?php echo esc_html( SCF::get_term_meta( $term_id, $taxonomy, 'ギャラリー' ) ); ?>

###試したこと
phpがまったくわからないのですが、ネットで調べた事をほとんど試しました。
作成者様のブログhttps://2inc.org/blog/2015/04/30/4790/を見て記述を色々記述を少し変えたりしました。が駄目でした。
また、こちらのteratailにあったhttps://teratail.com/questions/14171を参考に
テーマのcategory.phpに、

<?php $repeat_group = SCF::get( '商品紹介' ); foreach ( $repeat_group as $fields ) { ?>

と記述してみたり、
wordpressのフォーラムにあった
https://ja.wordpress.org/support/topic/smart-custom-fields%E3%81%AE%E9%96%A2%E9%80%A3%EF%BC%88%E6%8A%95%E7%A8%BF%E3%82%BF%E3%82%A4%E3%83%97%EF%BC%89%E3%81%AE%E5%87%BA%E5%8A%9B%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/
を参考に

<?php $relation = SCF::get( 'ラベル' ); foreach ( $relation as $post_id ) { ?> <?php echo get_post_meta($post_id, 'scfimg', true); ?> <?php } ?>

などとしましたが、うまくいきませんでした。色々やっている内に現在の記述が一番正解に近いのではないかと思っておりますが、いかんせんPHP初心者なので時間だけが過ぎていく状態です。
###補足情報(言語/FW/ツール等のバージョンなど)
wordpressバージョン → WordPress 4.7.1
テーマ → WelcartBasicの子テーマ Welcart Nova
Smart Custom Fieldsの
フィールド名 → ギャラリー
グループ名 → 商品紹介
名前 → scfimg
ラベル → scfimg
phpを記述しようとしている箇所 → Welcart Nova: カテゴリーテンプレート (category.php)

お忙しいとは思いますが、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2017/01/14 02:46

「ほとんど試しました」とありますが、その試したことと参考にしたURLも追記されたほうが回答を得られやすいと思います。
totaminotuyu

2017/01/14 10:37

kei344様。お忙しい中、ご指摘有難うございました。
guest

回答1

0

ベストアンサー

PHP

1<?php 2$term_id = get_query_var('cat'); 3 4// デバッグ用の出力 ここから(消してOK) 5?><pre><?php var_dump($term_id); ?></pre><?php 6// デバッグ用の出力 ここまで(消してOK) 7 8$objects = SCF::get_term_meta( $term_id, 'category', '商品紹介' ); 9 10// デバッグ用の出力 ここから(消してOK) 11?><pre><?php var_dump($objects); ?></pre><?php 12// デバッグ用の出力 ここまで(消してOK) 13 14foreach ( $objects as $object ) { 15 echo wp_get_attachment_image( $object['scfimg'] ); 16} 17?>

デバッグ用の出力は後で消してください。

投稿2017/01/14 11:53

編集2017/01/14 13:03
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

totaminotuyu

2017/01/14 12:45

miz様。早速のご回答有難うございます。 上記コードをWelcart Nova: カテゴリーテンプレート (category.php)の表示させたい箇所に記述しましたが、何も表示されませんでした。 素人ですので、記述箇所も間違っているかもなので、category.phpの中身を下記にすべて記入いたします。 <?php /** * @package Welcart * @subpackage Welcart_Basic */ get_header();?> <div id="primary" class="site-content"> <?php $term_img = $term_class = $term_before = $term_after = ''; $term_id = get_query_var( 'cat' ); $term_img_url = get_term_meta( $term_id, 'wcct-tag-thumbnail-url', true ); if( ! empty( $term_img_url ) ) { $term_img = '<p class="taxonomy-img"><img src="' . get_term_meta( $term_id, 'wcct-tag-thumbnail-url', true ) . '"></p>'; } if( wcct_get_options( 'cat_image' ) && ! empty( $term_img_url ) ) { $term_class = ' over'; $term_before = '<div class="wrap"><div class="inner">'; $term_after = '</div></div>'; } ?> <div class="page-header<?php echo $term_class; ?>"> <?php echo $term_img; echo $term_before; the_archive_title( '<h1 class="page-title">', '</h1>' ); the_archive_description( '<div class="taxonomy-description">', '</div>' ); echo $term_after; ?> </div><!-- .page-header --> <div class="content-wrapper"> <div id="content" role="main"> <?php if( usces_is_cat_of_item( $term_id ) ): ?> <?php if (have_posts()) : ?> <div class="cat-il type-grid"> <?php while (have_posts()) : the_post(); ?> <article id="post-<?php the_ID(); ?>"> <div class="itemimg"> <a href="<?php the_permalink(); ?>"> <?php usces_the_itemImage( 0, 300, 300 ); ?> <?php if( wcct_get_options( 'display_soldout' ) && ! usces_have_zaiko_anyone() ): ?> <div class="itemsoldout"> <div class="inner"> <?php _e('SOLD OUT', 'welcart_basic_nova' ); ?> <?php if( wcct_get_options( 'display_inquiry' ) ): ?> <span class="text"><?php wcct_options( 'display_inquiry_text' ); ?></span> <?php endif; ?> </div> </div> <?php endif; ?> </a> </div> <?php wcct_produt_tag(); ?> <?php welcart_basic_campaign_message(); ?> <div class="item-info-wrap"> <div class="itemname"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php usces_the_itemName(); ?></a></div> <div class="itemprice"><?php usces_crform( usces_the_firstPrice('return'), true, false ) . usces_guid_tax(); ?></div> </div><!-- item-info-box --> </article> <?php endwhile; ?> </div><!-- .cat-il --> <?php else: ?> <p class="no-date"><?php echo __('No posts found.', 'usces'); ?></p> <?php endif; ?> <?php else : ?> <?php if (have_posts()) : ?> <div class="post-li"> <?php while (have_posts()) : the_post(); ?> <article id="post-<?php the_ID(); ?>"> <?php if ( has_post_thumbnail() ): ?> <div class="thumb-img"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a></div> <?php endif; ?> <p><time datetime="<?php the_time('c'); ?>"><?php the_time(__('Y/m/d')) ?></time></p> <div class="post-title"><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php printf( esc_attr__( 'Permalink to %s', 'welcart_basic' ), the_title_attribute( 'echo=0' ) ); ?>"><?php the_title(); ?></a></div> <?php the_excerpt() ?> </article> <?php endwhile; ?> </div> <?php $term_id = get_query_var('cat'); ?><pre><?php var_dump($term_id); ?></pre><?php $objects = SCF::get_term_meta( $term_id, 'category', '商品紹介' ); ?><pre><?php var_dump($objects); ?></pre><?php foreach ( $objects as $object ) { echo wp_get_attachment_image( $object['scfimg'] ); } ?> <?php else: ?> <p class="no-date"><?php echo __('No posts found.', 'usces'); ?></p> <?php endif; ?> <?php endif; ?> <div class="pagination_wrapper"> <?php $args = array ( 'type' => 'list', 'prev_text' => __( ' &laquo; ', 'welcart_basic' ), 'next_text' => __( ' &raquo; ', 'welcart_basic' ), ); echo paginate_links( $args ); ?> </div><!-- .pagenation-wrapper --> </div><!-- #content --> <?php get_sidebar(); ?> </div><!-- .content-wrapper --> </div><!-- #primary --> <?php get_footer(); ?> になります。 カテゴリーページは、 http://amami-setouti.com/category/item/tankan/ になります。 何かおかしな部分があるのでしょうか? crlプラスshiftプラスDeleteキーでキャッシュの削除をやっても一緒です。 後、恥の上塗りになるような質問ですが、「デバッグ用の出力は後で消してください。」とは、具体的にどの部分になるのでしょうか? 宜しくお願い致します。
退会済みユーザー

退会済みユーザー

2017/01/14 13:03

出力されない箇所に書かれていますね。 `</div><!-- .page-header -->`の上あたりに書いてみてください。 後、「デバッグ用の出力」箇所について、回答にコメントを記載しましたので見てみてください。
totaminotuyu

2017/01/14 23:16

出力されました!! 私は「出力されない箇所」で色々やっていたんですね(汗) 昼間の仕事を終わってからですが、約一か月間出来なかった事が「teratail」と「miz様」に出会えた事で、一日で解決致しました。感動です。 また、本当にど素人な私を駄目だしする事なく、細部までご指導頂き本当に助かりました。 紳士的な対応に感動です!!! お陰様で、私が完成させたいHPの完成形が見えてきました。PHPの勉強も合わせてこれから頑張って行きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問