サポート » テーマ » 特定の親カテゴリに属する子カテゴリ一覧を、指定したカステムフィール

  • front-page.phpとcategory.phpにおいて、特定の親カテゴリ(3,4,5)に属する子カテゴリ一覧を子カテゴリに指定したカスタムフィールド画像(フィールド名:category_image)と一緒にそれぞれ表示したいです。
    category.phpでは、どのカテゴリーにおいても固定(共通)部分として使用したいです。
    子カテゴリ名、子カテゴリの説明を取得することはできましたが、カスタムフィールド画像の表示がうまくできず、代替画像のnothumb.pngが表示されます。
    使用しているプラグインはAdvanced Custom Field、取得するのはIDにしています。
    下記コードは、親カテゴリのIDが3の場合になります。

    <イメージ>
    親カテゴリ名
    -◯ 子カテ名
      子カテ説明
    -◯ 子カテ名
      子カテ説明
    -◯ 子カテ名
      子カテ説明

    ◯がカスタムフィールド画像。
      

    <div class="catpanel01">
    		<h2 class="ttl01"><?php echo get_cat_name('3'); ?></h2>
    		<div class="articlelist01-wrap">
    			<div class="inner">
    			<?php
    			$categories = get_terms( 'category', array(
    			'orderby'    => 'count',
     			'hide_empty' => 0,
    			'child_of' => 3,
    			) );
    			?>
    			<?php foreach($categories as $value): ?>
    				<div class="articlelist01-item">
    					<div class="left">
    						<a href="<?php echo get_category_link($value->term_id); ?>">
    						<?php
    						$post_id = 'category_'.$value->term_id;
    						$image = get_field('category_image',$post_id);
    						$alt = $image['alt'];
    						$size = 'thumb120';
    						$thumb = $image['sizes'][ $size ];
    						if( !empty($image) ): ?>
    						<img src="<?php echo $thumb; ?>" alt="<?php echo $alt; ?>">
    						<?php else: ?>
    						<img src="images/notthumb.png" alt="no thumb" />
    						<?php endif; ?>
    						</a>
    					</div>
    					<div class="right">
    						<h3><a href="<?php echo get_category_link($value->term_id); ?>"><?php echo $value->name;?></a></h3>
    						<p><a href="<?php echo get_category_link($value->term_id); ?>"><?php echo category_description($value->term_id); ?></a></p>
    					</div><!-- /.right -->
    				</div>
    			<?php endforeach; ?>
    			</div><!-- /.inner -->
    		</div><!-- /.articlelist01-wrap -->
    	</div><!-- /.catpanel -->

    わかりづらくてすいませんが、ご教授のほどよろしくお願いいたします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • こんにちは、

    プラグインの事は全然わからないですが、

    $post_id = 'category_'.$value->term_id;

    $post_id は、普通整数値だと思いますけど、その取り方でいいんですか?

    トピック投稿者 zenbuyasumi

    (@zenbuyasumi)

    整数値とはなんでしょうか?

    的外れでしたね
    忘れてください

    子カテゴリーにカスタムフィールドを指定するというのは、どのように実現されていますか?
    標準のままではカテゴリーにカスタムフィールドは設定できないですよね?

    ある特定の投稿にカスタムフィールドが設定されているのであれば、nobitaさんの指摘のとおり、$post_idの値がその投稿のidになっていないといけないような気がします。

    トピック投稿者 zenbuyasumi

    (@zenbuyasumi)

    ikaringさん
    こんにちは。
    プラグインAdvance Custom Fieldをつかって、フィールド設定条件は「投稿タクソノミーがカテゴリに等しい」にし、カテゴリ編集画面で画像追加してます。
    特定の投稿に紐付いているわけではないと思います。

    よろしくお願いします。

    すいません。ACFでそういう使い方できるんですね。勉強になります。

    おそらくサムネイルのサイズ指定がカスタムのサイズだと使えないのではないでしょうか。

    $size = 'thumb120';

    $size = 'thumbnail';
    にしたらどうなりますか?

    var_dump($image);で中身を確認できると思います。

    追記です。
    ちょっと手元で確認してみましたが、add_image_sizeで追加したカスタムサイズも使えるようですね。
    こちらでは表示されています。
    `

    なんどもすいません。
    いま気づいたのですが、返り値は画像オブジェクトになっていますか?
    下に引用した文からすると画像IDが返り値に設定されていないでしょうか?

    使用しているプラグインはAdvanced Custom Field、取得するのはIDにしています。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「特定の親カテゴリに属する子カテゴリ一覧を、指定したカステムフィール」には新たに返信することはできません。