2

我用 WordPress 建立了一个网站,并且我有自定义的帖子类型。在某些页面中,我有子导航,我想在页面中显示它,如下图所示:

http://www.andreavisibelli.com/screen-1.jpg

它工作正常,不是吗?

是的,但是如果您尝试查看下图中的“Vini”页面,您将看不到子菜单:

http://www.andreavisibelli.com/screen-2.jpg

这两个子菜单之间的区别在于,第一个是 WordPress 的基本页面,而第二个是自定义的帖子页面!

我的代码是:

  <ul id="subnavigation">
<?php
  if($post->post_parent)
  $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
  else
  $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
  if ($children) { ?>
  <ul>
  <?php echo $children; ?>
  </ul>
  <?php } ?>
  </ul>

我怎么解决这个问题?

4

1 回答 1

1

答案在WordPress 文档中:

功能参考/wp 列表页

用法
<?php wp_list_pages( $args ); ?>

默认用法

<?php $args = array(
  'depth'        => 0,
  'show_date'    => '',
  'date_format'  => get_option('date_format'),
  'child_of'     => 0,
  'exclude'      => '',
  'include'      => '',
  'title_li'     => __('Pages'),
  'echo'         => 1,
  'authors'      => '',
  'sort_column'  => 'menu_order, post_title',
  'link_before'  => '',
  'link_after'   => '',
  'walker'       => '',
  'post_type'    => 'page',
  'post_status'  => 'publish' 
); ?>

如您所见,该参数post_type是实现自定义帖子类型列表所需的参数。只需使用您的 CPT slug。

于 2013-03-12T17:48:00.390 回答