WordPress:親ページのある子ページでサイドバーを出し分ける

親ページのスラッグで子ページのサイドバー(ウィジェット)を出し分ける方法。

page.phpのサイドバーの位置に下の記述をする

$parent_id = $post->post_parent; // 親ページのIDを取得 
$parent_slug = get_post($parent_id)->post_name; // 親ページのスラッグを取得

if( $parent_slug == "aaa" ):
     get_sidebar('aaa');
 elseif( $parent_slug == "bbb" ):
     get_sidebar('bbb');
 elseif( $parent_slug == "ccc" ):
     get_sidebar('ccc');
 else :
 get_sidebar();
 endif

ただページが子ページかどうかを調べたいならこれでいい。

if ( is_page() && $post->post_parent > 0 ) {
    echo "これは子ページです";
}

https://wpdocs.osdn.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0#.E6.8A.95.E7.A8.BF.E3.82.92.E5.90.AB.E3.82.80.E3.83.9A.E3.83.BC.E3.82.B8

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください