post_is_in_descendant_category()でのカテゴリごとの出し分けが上手くいかない
-
お忙しいところご覧いただきありがとうございます。
Wordpressの関数 in_category() および post_is_in_descendant_category()を用いて
single.php内での情報の出し分けを行いたいと考えております。functinos.phpに以下を追加 function post_is_in_descendant_category( $cats, $_post = null ) { foreach ( (array) $cats as $cat ) { // get_term_children() accepts integer ID only $descendants = get_term_children( (int) $cat, 'category'); if ( $descendants && in_category( $descendants, $_post ) ) return true; } return false; }single.phpに以下を追加 <?php if ( in_category( 'cat-A' ) || post_is_in_descendant_category( get_term_by( 'slug', 'cat-A', 'category' ))): ?> カテゴリーAの記事とカテゴリーAを親に持つ子カテゴリー記事で表示する内容 <?php endif; ?> <?php if ( in_category( 'cat-B' ) || post_is_in_descendant_category( get_term_by( 'slug', 'cat-B', 'category' ))): ?> カテゴリーBの記事とカテゴリーBを親に持つ子カテゴリー記事で表示する内容 <?php endif; ?> <?php if ( in_category( 'cat-C' ) || post_is_in_descendant_category( get_term_by( 'slug', 'cat-C', 'category' ))): ?> カテゴリーCの記事とカテゴリーCを親に持つ子カテゴリー記事で表示する内容 <?php endif; ?>追記:cat-A~cat-Cはカテゴリーのスラッグです。
これでそれぞれのカテゴリに属する投稿かどうかを判別して出し分けができるでしょうか?
現状では、基本的には属したカテゴリーの内容が表示されるのですが、何故か属していないカテゴリの内容も出てしまうことがあり、原因がよくわからない状態です。
例えばcat-A配下でcat-Bは無関係の記事なのに、cat-Aの内容及びcat-Bの内容が出てしまう、というような問題が起きています。
何かヒントになりそうな情報がありましたら教えていただきたく存じます。
また不足している情報がありましたら補足させていただきます。お忙しい中お読み頂きましてありがとうございました。どうぞ宜しくお願い致します。
9件の返信を表示中 - 1 - 9件目 (全9件中)
9件の返信を表示中 - 1 - 9件目 (全9件中)
トピック「post_is_in_descendant_category()でのカテゴリごとの出し分けが上手くいかない」には新たに返信することはできません。