基于父项和祖先显示菜单

时间:2012-03-20 作者:Matt Adams

正在尝试基于父级显示wp菜单。在父/子页面上效果很好,但在孙子页面上效果不佳。我应该如何重新构造菜单选择器,以包含基于主父菜单的子导航菜单?

<?php
if ( wp_get_nav_menu_object( $post->post_title ) ) {
wp_nav_menu( array( 
\'menu\' => $post->post_title,
\'menu_class\' => \'subnav\',
\'container\' => \'\'
) );
} else {

   if ( wp_get_nav_menu_object( get_the_title( $post->post_parent ) ) ) {
wp_nav_menu( array( 
\'menu\' => get_the_title( $post->post_parent ),
\'menu_class\' => \'subnav\',
\'container\' => \'\'
) );
}
 }
?>

1 个回复
最合适的回答,由SO网友:Matt Adams 整理而成

解决问题。

if (is_page( \'pagename\' ) || in_array("5", $post->ancestors)) {
wp_nav_menu( array( \'container_class\' => \'subnav\', \'menu\' => \'visit\' ));
}

5是相关页面的ID。

因此,虽然这需要更多的工作,但每个页面都需要和if/if:else语句,它将根据需要进行扩展以允许尽可能多的子/孙页面

结束