ページ毎にサイドバーを切り替えたいときって沢山あると思います。コーポレートサイトなら尚更です。
というわけで以下。
まずサイドバーを呼び出す基本
<?php get_sidebar(part01); ?> /*sidebar-part01.phpを呼び出す**/
固定ページ一つだけを別のSidebarを表示する場合
<?php
if(is_page('スラッグ名A')) :
get_sidebar('サイドバーB');
else :
get_sidebar();
endif
?>
もし、「スラッグ名」っていうページだったら「サイドバーB」っていうサイドバー出してねってことです。
ちなみに、「サイドバーB」のところは「sidebar-part01.php」の「part01」の部分だけ入れるよ。全部入れちゃだめだよ。
複数の固定ページを別のSidebarを表示する場合
if(is_page(array('スラッグ名','スラッグ名','スラッグ名'))):
get_sidebar('サイドバーC');
else :
get_sidebar();
endif
?>
もっと分岐
<?php
if(is_page(array('スラッグ名','スラッグ名','スラッグ名'))):
get_sidebar('サイドバーA');
elseif(is_page(array('スラッグ名','スラッグ名','スラッグ名'))):
get_sidebar('サイドバーB');
elseif(is_page(array('スラッグ名','スラッグ名','スラッグ名'))):
get_sidebar('サイドバーC');
else :
get_sidebar();
endif
?>
これ管理面倒だけどまあ楽。
カテゴリごとにSidebarを切り替える(single.php)
<?php
if(in_category('スラッグ名')) :
get_sidebar('ハイフンの後ろ');
elseif(in_category('スラッグ名')) :
get_sidebar('ハイフンの後ろ');
else :
get_sidebar();
endif
?>
カテゴリアーカイブページ(category.php)の場合
is_categoryです。
<?php
if(is_category('スラッグ名')) :
get_sidebar('ハイフンの後ろ');
elseif(is_category('スラッグ名')) :
get_sidebar('ハイフンの後ろ');
else :
get_sidebar();
endif
?>
これ使えるとサイトの表現が格段に上がりますね。
確か、親子関係がしっかり出来た階層サイトの場合、スラッグ名いっぱい入れるの面倒だから、親ページのスラッグ名で判断して子ページに適用、とかもあった気がします。
最近こういう依頼がないのですっかり忘れてしまいましたがググれば出てくるはず。
時間あるときまとめます。