サイドバーに下層ページリストを設置したけど、カスタム投稿タイプとかお問い合わせとか色々考慮してみた。
というわけで、、
わたしのサイドバー公開!(〃∇〃)
<div id="sidebar">
<?php
global $wp_query;
$page_id = $wp_query->post->ID;
$parent_id = $wp_query->post->post_parent;
?>
<?php /********** お問い合わせページは親子があるけど親のみの表示 **********/
if(is_page('contact') || is_page('thanks')){ ?>
<h2 class="current">お問い合わせ</h2>
<?php /********** 404 **********/
}elseif(is_404()){ ?>
<h2 class="current">404 not found</h2>
<?php /********** 親があるページ **********/
}elseif($wp_query->post->post_parent){
?>
<h2><a href="<?php the_permalink($parent_id); ?>"><?php echo get_the_title($parent_id); ?></a></h2>
<?php if(wp_list_pages("title_li=&child_of=".$parent_id."&echo=0")) { ?>
<ul class="child_pagelist">
<?php wp_list_pages("title_li=&child_of=".$parent_id); ?>
</ul>
<?php } ?>
<?php /********** 子兄弟があるページ **********/
}elseif(!is_404() && wp_list_pages("title_li=&child_of=".$page_id."&echo=0")){
?>
<h2 class="current"><?php the_title(); ?></h2>
<?php if(wp_list_pages("title_li=&child_of=".$page_id."&echo=0")){ ?>
<ul class="child_pagelist">
<?php wp_list_pages("title_li=&child_of=".$page_id); ?>
</ul>
<?php } ?>
<?php /********** カスタム投稿タイプ(制作実績:works、実績カテゴリー:cat_works) **********/
}elseif(is_post_type_archive('works') || is_tax('cat_works') || is_singular('works')){ ?>
<?php if(is_tax('cat_works') || is_singular('works')){ ?><h2><a href="<?php echo home_url(); ?>/works/">制作実績</a></h2><?php }else{ ?><h2 class="current">制作実績</h2><?php } ?>
<ul class="child_pagelist">
<?php wp_list_categories("post_type=works&taxonomy=cat_works&title_li="); ?>
</ul>
<?php /********** 投稿(アーカイブページスラッグ:news) **********/
}elseif(is_page('news') || is_category() || is_single()){ ?>
<?php if(is_category() || is_single()){ ?><h2><a href="<?php echo home_url(); ?>/news/">新着情報</a></h2><?php }else{ ?><h2 class="current">新着情報</h2><?php } ?>
<ul class="child_pagelist">
<?php wp_list_categories("title_li="); ?>
</ul>
<?php /********** 親子兄弟がないページ **********/
}else{
?>
<h2 class="current"><?php the_title(); ?></h2>
<?php } ?>
</div>
出力されるHTML
<div id="sidebar">
<h2 class="current">親ページタイトル</h2>
<ul class="child_pagelist">
<li class="page_item page-item-30"><a href="#">子ページ1</a></li>
<li class="page_item page-item-31"><a href="#">子ページ2</a></li>
<li class="page_item page-item-32"><a href="#">子ページ3</a></li>
<li class="page_item page-item-33"><a href="#">子ページ4</a></li>
<li class="page_item page-item-34"><a href="#">子ページ5</a></li>
</ul>
</div>
親のページにいる時だけh2にcurrentクラスが付きます。
子ページにいる時はリストにcurrent_page_itemクラスが付与されます。
それらを使って、CSSで装飾してくださ〜い
他に良い方法あったら教えてください。。