2010-12-01 8 views
0

私はワードプレスのテーマを作ってからもう一度やりましたが、ページ上のメニューに問題がありました。ワードプレスの子どもと孫がいるページメニューを表示

これは私の現在のページ階層である(私はまだだけので、名前をテストしています)私は、「このページ」を訪問したときに

Home 

This page 
*Child 1 
    **Grandchild 1 
    **Grandchild 2 
*Child 2 
    **Grandchild 3 
    **Grandchild 4 
    **Grandchild 5 
*Child 3 
    **Grandchild 6 

Another page 

は今、私は「このページ」(現在)へのリンクを表示したいですhttp://img840.imageshack.us/img840/3006/thispage.png

ここで「このページ」の「子1」にアクセスすると、上のメニューとすべての子からのすべてを表示したいと考えています。このページの「このページ」のすべての直接的な子(ここでは孫)このスケッチのように "Child 1"(孫1 & 2)を "Child 1"の下のsub ulに追加します。http://img4.imageshack.us/img4/7868/child1.png

そして、私は「孫1」を訪問したときに、今私は私だけの代わりに、このスケッチのように現在の項目として「孫1」と「子1」のためにやったのと同じメニューを表示したい:http://img819.imageshack.us/img819/1633/grandchild1.png

これは私です(wp_list_pages()関数の下にある)wordpressコーデックスの例に基づいた現在のコードですが、それほどうまく機能していないし、godchildrenにとってはうまくいきません。

<?php 
if($post->post_parent){ 
$children = wp_list_pages("title_li=&include=".$post->post_parent."&echo=0"); 
$children .= wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); 
} 
else{ 
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); 
} 

if ($children) { ?> 
<div class="page-menu"> 
<ul> 
<?php echo $children; ?> 
</ul> 
</div> 
<?php } ?> 

私の計画では、スケッチでわかるようにメニューをサイドバーにすることを計画しています。

だから誰もこの結果をどのように達成できるか知っていますか?

答えて

0

wp_list_pages()を使用することを強くお勧めします。そして、表示したくない部分を隠すためにCSSを持ってきてください(機能によって出力されたクラスがたくさんあります。

また、階層全体が常に存在するため、検索エンジン(限られたブラウザやアクセシビリティ拡張機能を使用しているユーザーの場合)でサイトを閲覧する方が簡単になりますHTML。

関連する問題