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

子孫含むカテゴリでの条件分岐【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でカテゴリーの親子関係を判定する

関連記事

コメント:7

_atsuki 11-04-25 (月) 21:06

はじめまして。
この条件分岐をずーっと調べていましたが
参考記事が少なく、ようやくこの記事にたどり着き実装できた時はちょっと感動しました。。。
大変助かりました。ありがとうございました。

admin 11-04-26 (火) 23:21

welcome!
お役に立ててよかったです。

****** 11-08-16 (火) 4:16
このコメントは管理者の承認待ちです
****** 11-11-25 (金) 6:59
このコメントは管理者の承認待ちです
****** 11-12-03 (土) 11:41
このコメントは管理者の承認待ちです
****** 11-12-11 (日) 10:57
このコメントは管理者の承認待ちです
****** 12-01-28 (土) 4:51
このコメントは管理者の承認待ちです
コメントフォーム
Remember personal info

トラックバック:2

このエントリーのトラックバックURL
http://web.donnatokimo.com/wordpress/275/trackback
Listed below are links to weblogs that reference
子孫含むカテゴリでの条件分岐【WordPress】 from ウェブなとき。
pingback from links for 2011-04-25 | 2g.atsukitaira.com 11-04-25 (月) 23:03

[...] 子孫含むカテゴリでの条件分岐【WordPress】 – ウェブなとき。 (tags: wordpress) [...]

pingback from 子孫含むカテゴリでの条件分岐 — underconstruction 11-05-06 (金) 13:10

[...] http://web.donnatokimo.com/wordpress/275 [...]

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

want

Return to page top