使CURRENT_PAGE_ITEM与发布页面的侧边栏中的wp_list_ages一起工作

时间:2014-01-10 作者:Andrew

我正在开发一个网站,在侧边栏中有一个菜单,可以列出当前页面的父级列表,以及该页面的所有子级列表。

问题是,在包含帖子查询的页面上,此菜单不起作用。我通过为任何这样的页面创建自定义菜单来绕过它,但是current_page_item 类不显示。如何修复此代码以在这些奇数页上工作?我是否需要调整主题页面中的帖子查询,或页面的边栏查询?

这是正常的菜单查询:

if($post->post_parent) {
  $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0&depth=1");
  $titlenamer = get_the_title($post->post_parent);
  }

  else {
  $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0&depth=1");
  $titlenamer = get_the_title($post->ID);
  }
  if ($children) { ?>

  <h6> <?php echo $titlenamer; ?> </h6>
  <ul>
  <?php echo $children; ?>
  </ul>
这是我尝试使用的调整后的代码,它不会显示current_page_item 类别输入:

  if($post->post_parent) {
  $children = wp_list_pages("title_li=&child_of=11&echo=0&depth=1");
  $titlenamer = get_the_title($post->post_parent);
  }

  else {
  $children = wp_list_pages("title_li=&child_of=11&echo=0&depth=1");
  $titlenamer = get_the_title(11);
  }
  if ($children) { ?>

  <h6> <?php echo $titlenamer; ?> </h6>
  <ul>
  <?php echo $children; ?>
  </ul>
谢谢你的帮助。

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

听起来你只是需要wp_reset_postdata() 在运行任何额外查询之后,在输出菜单之前。

结束

相关推荐

Menus like a CMS

以下是一些内容的结构示例:Parent A -- Child A -- Child B Parent B -- Child C -- Child D Parent A 应链接到的内容Child A 和Parent B 应链接到的内容Child C. 除此之外,我不确定这是否应该完全由wordpress中的“菜单”来管理,或者它是否应该是Parent A 包含子页面的页面。唯一的问题是Parent A 不是真正的内容,只是链接到Child A.如果你需要一个真