我想缩短这段代码,而不是手动放置所有孩子的ID,我只想拉出id并将其设置为数组。当他们从父页面添加新的子页面时,这可能是未来的动态。
if ( in_array($post->ID, ['39','41','43','45']) ) {
$menuPage = 'about';
} elseif ( in_array($post->ID, ['47','49','51','53','55','57']) ) {
$menuPage = 'asset';
}
get_template_part( _menu, $menuPage );
我尝试了一些代码但技术上只显示标题。我目前使用的代码类似于此代码。
<ul class="uk-nav uk-navbar-dropdown-nav uk-list uk-list-inline">
<?php
$args = array(
'depth' => 1,
'include' => 15,
'title_li' => '',
);
wp_list_pages($args);
$args['child_of'] = $args['include'];
unset($args['include']);
wp_list_pages($args);
?>
</ul>
答案 0 :(得分:0)
您可以使用repeat with t
验证要打印的菜单,请参阅codex:https://codex.wordpress.org/Function_Reference/wp_get_post_parent_id
将检查每个访问过的子页面的父ID,然后使用PHP开关匹配菜单。
wp_get_post_parent_id( $post_ID );
此外,如果您只想从特定父级返回子页面,则可以使用:
switch(wp_get_post_parent_id( $post->ID )){
case 1: //parent page ID
$menuPage = 'about';
break;
case 2: //parent page ID
$menuPage = 'asset';
break;
default:
$menuPage = 'default-menu';
}