ホーム > タグ > 条件分岐

条件分岐

子孫含むカテゴリでの条件分岐【WordPress】

求めていた答えが見つかった。

<?php
$post_cats = get_the_category();
if ( $post_cats[0]->cat_ID == 1 || $post_cats[0]->category_parent == 1 || cat_is_ancestor_of( 1, (int)$post_cats[0]->category_parent ) ) { ?>
親カテゴリー1の記事の表示内容
<?php } elseif ( $post_cats[0]->cat_ID == 5 || $post_cats[0]->category_parent == 5 || cat_is_ancestor_of( 5, (int)$post_cats[0]->category_parent ) ) { ?>
親カテゴリー5の記事の表示内容
<?php } else { ?>
その他の記事の表示内容
<?php } ?>

※複数カテゴリーにチェックされている記事でも取得できた最初のカテゴリーで判別されます。

これーー!!
いやー、ほんとたどりつくのに時間がかかった…
メモメモ!!

cat_is_ancestor_of という関数を使うようです。

cat_is_ancestor_of($cat1, $cat2)

$cat1で指定したカテゴリが$cat2の親である場合にtrueを返す。(どれだけ下の階層でもヒットすればtrue)
引数はカテゴリーIDで、数値でないと常にfalseになる。(’1′,’4′)ではなく(1,4)で指定

【参考】
フォーラム 条件分岐について
[WP]Category, Tag and Taxonomy Functions
MovableType・WordPressでカテゴリーの親子関係を判定する

Home > タグ > 条件分岐

want

Return to page top