harumemo

メモ書きです。

WordPressで現在記事を基に親/子カテゴリを取得する方法

□親カテゴリを取得する
get_ancestors : 先祖のカテゴリ(など)をまとめて取得する。現カテゴリの親を取得したいときに。

※現在のカテゴリは「get_the_category()」で取得する。配列で帰ってくるので、とりあえず[0]だけ使うのも手か。

例)
$catParent = get_ancestors( $cat -> cat_ID,'category');

※第2引数は、タクソノミー名または投稿タイプを指定する。なんだか指定しないと親カテゴリのIDが取得できなかった。



□子カテゴリを取得する

$catChildren = get_category_children($catParent[0]); /* 現在のカテゴリIDを基に、子カテゴリのIDを取得する。 */
$catChildrenIDs = explode('/',$catChildren); /* 子IDは'/'で区切られているため、区切り文字を指定して配列に格納。 */
array_shift($catChildrenIDs); /* explodeの結果、先頭に不要な要素がひとつ入ってしまう。先頭の要素をarray_shiftで取り出し、副作用として配列を1要素ぶん短くする。 */