正在尝试基于父级显示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\' => \'\'
) );
}
}
?>
最合适的回答,由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语句,它将根据需要进行扩展以允许尽可能多的子/孙页面