0

さて、WordPressテーマを作成してから1年以上経ちましたが、今からやり直しましたが、ページのメニューに問題が発生しました。

これは私の現在のページ階層です(私はまだテストしているだけなので、名前を付けています)

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」にアクセスすると、上記のメニューのすべてと、このスケッチのように「子1」の下のサブファイルに「子1」(孫1と2)のすべての子が表示されます。http://img4.imageshack.us/img4/7868/child1.png

そして今、「Grandchild 1」にアクセスしたとき、このスケッチのように、現在のアイテムとして「Grandchild 1」だけを使用して、「Child1」で行ったのと同じメニューを表示したいと思います。http://img819.imageshack.us/img819 /1633/孫1.png

これは、少し他のタイプのメニューのワードプレスコーデックス(wp_list_pages()関数の下)の例に基づく私の現在のコードですが、あまりうまく機能しておらず、ゴッドチャイルドにとっては絶対にうまく機能していません。

<?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 } ?>

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

では、この結果をどのように達成できるかを誰かが知っていますか?

4

1 に答える 1

0

を使用することを強くお勧めしwp_list_pages()ます。次に、表示したくない部分を隠すために CSS を取り込みます (関数によって出力されるクラスはたくさんあります。ソースをチェックして、利用可能なものを確認してください)。

さらに、階層全体が常に HTML にあるため、検索エンジン (およびユーザーが制限付きのブラウザーやアクセシビリティ拡張機能を使用している場合はユーザー) がサイトを閲覧しやすくなります。

于 2010-12-03T18:32:18.597 に答える