is_post_type_hierarchical()


WordPress関数is_post_type_hierarchical()は、指定された投稿タイプが階層構造を持つかどうかを確認するために使用されます。

シンタックス

is_post_type_hierarchical( string $post_type );
  • $post_type (string) — 確認したい投稿タイプのスラッグを指定します。

戻り値:

  • bool — 投稿タイプが階層構造を持つ場合はtrue、そうでない場合はfalseを返します。

例1: 投稿タイプが階層構造を持つかの確認

このコードはpageが階層構造を持つかどうかを確認します。

<?php
if ( is_post_type_hierarchical( 'page' ) ) {
    echo 'この投稿タイプは階層構造を持っています。';
}
?>

例2: 条件付きでカスタム投稿タイプの表示

カスタム投稿タイプmy_custom_typeが階層構造を持つ場合に特定の処理を実行します。

<?php
if ( is_post_type_hierarchical( 'my_custom_type' ) ) {
    echo 'このカスタム投稿タイプは階層構造です。';
}
?>

例3: 投稿タイプの階層構造に基づくテンプレート変更

階層構造を持つ投稿タイプの場合に異なるテンプレートをロードします。

<?php
if ( is_post_type_hierarchical( get_post_type() ) ) {
    get_template_part( 'template-hierarchical' );
} else {
    get_template_part( 'template-non-hierarchical' );
}
?>

例4: 投稿タイプの階層をチェックしてウィジェットを表示

階層構造を持つ投稿タイプでのみ特定のウィジェットエリアを表示します。

<?php
if ( is_post_type_hierarchical( 'page' ) ) {
    dynamic_sidebar( 'hierarchical-sidebar' );
}
?>

例5: カスタムメニューの項目を条件付きで追加

階層構造を持つ投稿タイプに基づいてメニュー項目を動的に追加します。

<?php
if ( is_post_type_hierarchical( 'product' ) ) {
    wp_nav_menu( array( 'menu' => 'hierarchical-menu' ) );
}
?>

注意点:

  • is_post_type_hierarchical()は既存の投稿タイプや登録済みのカスタム投稿タイプに対して使用してください。
  • カスタム投稿タイプが正しく登録されていない場合、正しい結果を得られません。

関連機能: