我正在尝试在WordPress中创建第二级导航。我找到了很多例子,但没有一个能完全满足我的要求。下面的代码让我几乎做到了这一点,但我想要一个活动类,或者更好的方式,如果我在子导航上,只显示子导航。如果WordPress有一个depth\\u start选项和depth,那就太好了。
示例:
link1
link2 (active class)
link2-1
link2-2
link2-3
link3
link4
迄今为止的代码:
<?php
$parent = array_reverse(get_post_ancestors($post->ID));
$first_parent = get_page($parent[0]);
$args = array(
\'depth\' => 0,
\'child_of\' => $first_parent->ID,
\'title_li\' => __($first_parent->post_title),
\'sort_column\' => \'menu_order\',
); ?>
<nav class="sidebar">
<ul>
<?php wp_list_pages( $args ); ?>
</ul>
</nav>
最合适的回答,由SO网友:Ian Hoar 整理而成
现在,我决定使用CSS解决方案。我意识到,通过上面的代码,我确实可以使用一些类。例如,如果您在中有此导航,您可以使用类似的内容。
nav.sidebar li li li {
display: none;
}
nav.sidebar li li.current_page_item > ul > li, nav.sidebar li li.current_page_ancestor > ul > li {
display: block;
}
虽然不理想,但它完成了工作。