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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

Q&A

解決済

1回答

2864閲覧

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

totaminotuyu

総合スコア12

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

0グッド

1クリップ

投稿2017/01/16 12:04

編集2017/01/16 22:29

つい先日に質問し、miz様よりご回答を頂いたものです。(有難うございました。)
ご回答を元に、やりくりすれば「カテゴリーに説明文付きの画像を何枚も表示させたい。」を実現出来ると思っておりましたが、まったくチンプンカンプンで上手くいかなかったので再度質問させて下さい。

まず、画像だけの出力は、miz様のご回答そのままでうまく表示できましたが、画像のサイズが「フィールド編集内のプレビューサイズ」を変更してもimg width="150" height="150"で出力されてしまう(ソースで確認)のです。サイズの指定方法が分かりません。

画像のサイズ変更も出来ていないのですが、フィールド編集画面でサブフィールドを追加しテキストにて画像の説明分を付けたいと思っております。

正直、PHPをなめていました。htmlを少しかじったくらいでは太刀打ち出来ないと分かり、恥ずかしながら再度質問と言うか、解決策をご教授して頂けたらと思います。

宜しくお願い致します。


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

サイズを変更しても下記ソースで出力されてしまいます。⇓

<img width="150" height="150" src="http://amami-setouti.com/wp/wp-content/uploads/s-P1150005-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="たんかん4" /><img width="150" height="150" src="http://amami-setouti.com/wp/wp-content/uploads/s-P1150013-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="たんかん5" /> </div>

該当のソースコード

miz様よりご回答頂いたソースコード↓

<?php $term_id = get_query_var('cat'); $objects = SCF::get_term_meta( $term_id, 'category', '商品紹介' ); foreach ( $objects as $object ) { echo wp_get_attachment_image( $object['scfimg'] ); } ?>

補足情報(言語/FW/ツール等のバージョンなど)

wordpressバージョン → WordPress 4.7.1
テーマ → WelcartBasicの子テーマ Welcart Nova

Smart Custom Fieldsの
フィールド名 → ギャラリー
グループ名 → 商品紹介
タイプ → 画像
名前 → scfimg
ラベル → scfimg

サブフィールドの
タイプ → テキスト
名前 → txt
ラベル → txt


Welcart Nova: カテゴリーテンプレート (category.php)
の中身です。
現在は</div><!-- #content -->の上に画像出力させています。

<?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 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 --> <?php $term_id = get_query_var('cat'); $objects = SCF::get_term_meta( $term_id, 'category', '商品紹介' ); foreach ( $objects as $object ) { echo wp_get_attachment_image( $object['scfimg'] ); } ?> </div><!-- #content --> <?php get_sidebar(); ?> </div><!-- .content-wrapper --> </div><!-- #primary --> <?php get_footer(); ?>

カテゴリーページのhttpアドレスです。

http://amami-setouti.com/category/item/tankan/

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

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

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

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

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

kei344

2017/01/16 12:55

質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
退会済みユーザー

退会済みユーザー

2017/01/16 13:02

そういえば、質問のタグに「WordPress」をつけたほうがいいですよ。
totaminotuyu

2017/01/17 10:45

miz様。wordpress Codexを参考に画像サイズの変更が出来ました。kei344様。teratailの質問方法のご指摘有難うございます。
totaminotuyu

2017/01/17 10:51

wordpress Codexを参考に改めて、ネット検索で調べて見たのですが、サブフィールドのテキストの呼び出しは、echo esc_html( $fields['txt'] );が一番近いのかと思い、 echo wp_get_attachment_image( $object['scfimg'], $full );の下に記述しましたが駄目でしたので、違うのでしょうね(汗)
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 10foreach ( $objects as $object ) { 11 12// デバッグ用の出力 ここから(消してOK) 13?><pre><?php var_dump($object); ?></pre><?php 14// デバッグ用の出力 ここまで(消してOK) 15 16 echo wp_get_attachment_image( $object['scfimg'], array( 200, 0 ) ); 17 echo esc_html( $object['txt'] ); 18} 19?>

投稿2017/01/17 13:16

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

totaminotuyu

2017/01/17 22:05

miz様。早速の回答頂き有難うございます。 txtは無事表示されました。(有難うございます。) ですが、txtが私のイメージしていた表示と違い、画像の横に出てしまいレイアウトもずれてしまう状態です。 勉強にもなるので、ネットで調べて解決策をで探してみようと思いますが、駄目だった場合は、ご教授のほどよろしくお願いいたします。(解決しましたの報告が出来れば良いのですが。) 後、miz様のご回答があった時間帯にご報告出来ず済みません。本当はタイムリーに報告するのがベストなんですが、アルバイト等があり失礼いたしました。
退会済みユーザー

退会済みユーザー

2017/01/17 23:12

出力ができたのであれば、残りのレイアウトはHTML/CSSの問題です。質問者様のお好きなレイアウトに調整されればよいかと思います。 それから、別にチャットをしているわけではないので、コメント等に時間差が出るのは当然のことです。気にされることはありません。
totaminotuyu

2017/01/18 09:00

解決致しました! echo nl2br("\n"); を注入する事で、レイアウトが整いました。 これで目指していたカテゴリーページが完成致しました。 本当に有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問