WordPress: get_the_category()で取得した記事のカテゴリー一覧を、親のカテゴリーのIDに基づき並べ替える

WordPressでは、get_the_category()により、記事のカテゴリーを配列で取得できます。この記事では、属するカテゴリーが複数あるとして、カテゴリーの親カテゴリーのIDに基づき並べ替えます。

目次

やり方

get_the_category()で取得した投稿記事のカテゴリーのオブジェクトの配列を、親カテゴリーのIDに基いて並べ替えます。つまり、オブジェクトのパラメータparent(親カテゴリーのID)に基づいてsortするということです。そのために、PHPのusort関数を用います。

コードは以下。

// カテゴリの取得
$categories = get_the_category();

// 親カテゴリのID順
function sort_by_cat_parent( $a, $b ) {
    if ($a->parent == $b->parent) {
        return 0;
    }
    return ($a->parent < $b->parent) ? -1 : 1;
}
usort($categories, "sort_by_cat_parent");

$categoriesの中が、親カテゴリーのID順にsortされます。

参考

参考にさせていただきました。ありがとうございました。今回始めてusort関数を使いましたが、ちょっとわかった気がします。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次