私はまだこの愚かなナビゲーションメニューをいじっています. アイデアは、最初にページに移動したときにトップ レベルのページが一覧表示され、それらのいずれかをクリックすると、選択したすべてのページのサブページを含む第 2 レベルのメニューがその下に表示され、それらのページの 1 つをクリックするとすべてのページが表示されるというものです。選択した第 2 レベル ページの第 3 レベル ページが、第 2 レベル ページの下に表示されます。
私はこれをさまざまな方法で実行しようとしましたが、いくつかの部分を記憶するためにセッションストアを作成しようとしましたが、良い解決策を見つけることができません.
これが私がこれまでに行ったことです:
<?php
wp_nav_menu(array(
'sort_column' => 'menu_order',
'theme_location' => 'primary-menu'
));// Prints the primary top level menu
$level = count($post->ancestors);
echo $level;// Just for testing purposes
if ($post->post_parent){
$children = wp_list_pages("title_li=&child_of=" . $post->post_parent . "&echo=0&depth=1");
$grandchildren = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0');
}
else{
$children = wp_list_pages("title_li=&child_of=" . $post->ID . "&echo=0&depth=1");
}
if ($children) {
echo $children;
}
if ($grandchildren){
echo $grandchildren;
}
?>
これが私が抱えている問題です。それは一方向に機能するので、トップレベルをクリックすると2番目のレベルが表示され、2番目のレベルをクリックすると3番目のレベルが表示されますが、3番目のレベルをクリックすると2番目のレベルが消えます.
これは私を夢中にさせています!get_post get_children などについてのすべてを読んで、これに 1 日を費やしました。
ありがとう、
ハ