获取WordPress子页面ID

时间:2018-02-01 01:01:08

标签: php wordpress

我想缩短这段代码,而不是手动放置所有孩子的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>

1 个答案:

答案 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';
}