is_post_type_hierarchical – 特定の投稿タイプが階層を持っているか判断する関数

投稿日 :

カテゴリー :

is_post_type_hierarchical() 関数は、投稿タイプが階層を持っているかどうかを判断することができます。

目次

is_post_type_hierarchical() 関数とは

引数に投稿タイプを設定して、その投稿タイプが階層を持っているかどうかを確認することができます。

階層とは、例えば WordPress 標準でも用意されている固定ページという投稿タイプがありますが、こちらは新規固定ページを作成する際に編集画面で「親ページ」を選択することができます。

これはつまり、これから作成するページと親子関係(=これが階層)を持つページを指定することができるということです。

このように階層を持つことができる投稿タイプかどうかを判断するために、is_post_type_hierarchical() 関数は利用することができます。

また、内部では get_post_type_object() 関数が使われています。こちらの関数に関しても理解を深めておくと良いでしょう。

パラメーター

$post_type投稿タイプ名

使い方

この関数を単体で利用することはほとんどないと思いますが、動作の検証としては以下のようなコードで行うことができます。

if ( is_post_type_hierarchical( 'post' ) ) {
	echo "投稿は階層型だよ";
} else {
	echo "投稿は階層型じゃないよ";
}

if ( is_post_type_hierarchical( 'page' ) ) {
	echo "固定ページは階層型だよ";
} else {
	echo "固定ページは階層型じゃないよ";
}

アイデアとしてですが、例えば階層を持ったページを表示しているときだけ <body> に任意のクラス名を出力したいとします。

そういった場合には、この is_post_type_hierarchical() 関数で必要な処理を行い、wp_body_class フックで出力するということは考えられますね。

フック

ありません。

まとめ

あまりクラシックテーマ開発でも利用することは少ない関数かもしれませんが、WordPress コアの中ではちょくちょく利用されている箇所もあります。

こういった関数にも触れておくことで、WordPress の奥深しさも感じることができるかもしれませんね。

コーディングや
WordPress開発のリソースが足りない!

オレインデザインでは、デザインデータからの HTML コーディングから WordPress テーマ・プラグイン開発まで幅広くウェブ制作に対応しています。

お気軽にお問い合わせください。

WordPress 6.5.x 対応版を出版しました

WordPress デフォルトテーマ Twenty Twenty-Four を使って、シンプルなブログやポートフォリオサイト、そしてコーポレートサイトを作りながら、ブロックテーマやサイトエディターの基本を理解することができます。