WordPressでカテゴリ一覧を表示させるには、wp_list_categoriesというテンプレートタグがありますが、出力結果が思い通りにならないことが多いので、get_termsを使って、カテゴリ一覧を表示させる方法です。
カテゴリ一覧を表示させる
get_termsでカテゴリ情報を取得するには、最初の引数にcategoryを指定します。
[php]echo '<ul…
functions.phpに以下を記述
if ( ! function_exists( 'post_is_in_descendant_category' ) ) { function post_is_in_descendant_category( $cats, $_post = null ) { foreach ( (array) $cats as $cat ) { $descendants = get_term_children( (int) $cat, 'category' ); if ( $descendants && in_category( $descendants, $_post ) ) return true; } return false; } }
条件分岐をしたい場所に以下を記述
<?php if ( in_category(親カテゴリID) || post_is_in_descendant_category(親カテゴリID) ): ?> // 「親カテゴリ」もしくは「親カテゴリ」に属する子カテゴリーのものであった場合の出力内容 <?php else: ?> // それ以外の出力内容 <?php endif; ?>
この投稿へのコメント
コメントはまだありません。