是否自动转到层次结构中的第一页?

时间:2010-08-24 作者:cannyboy

假设我有一个关于不同类型汽车的网站。结构有点像这样:

-Home
-Cars (shows a submenu with a list of cars, ie Volvo 850, Porsche 911 )
 -Volvo 850 overview (the page you get when you click Volvo 850 on the Car page)
 -Volvo 850 tech spec (the three Volvo pages are shown as submenu links on any Volvo page)
 -Volvo 850 pictures
 -Porsche 911 overview
 -Porsche 911 tech spec
 -Porsche 911 pictures
最好的方法是什么?我想我要问的是automatically 让汽车页面列出不同的汽车,并链接到概述页面,而不是其他页面。然后在各个汽车页面上,有更多用于概述、技术规格和图片页面的子菜单。

我可以有这样的结构:

-Cars (shows a submenu with a list of cars, ie Volvo 850, Porsche 911 )
 -Volvo 850
  -Volvo 850 overview (the page you get when you click Volvo 850 on the Car page)
  -Volvo 850 tech spec (the three Volvo pages are shown as submenu links on any Volvo page)
  -Volvo 850 pictures
。。但我不想看到中间的沃尔沃850页面,因为上面什么都没有。

2 个回复
最合适的回答,由SO网友:Travis Northcutt 整理而成

引用wp_list_pages function reference

您可能需要使用列出的第二个结构,但有一个更改:

-Cars (shows a submenu with a list of cars, ie Volvo 850, Porsche 911 )
 -Volvo 850 overview (the page you get when you click Volvo 850 on the Car page)
  -Volvo 850 tech spec (the three Volvo pages are shown as submenu links on any Volvo page)
  -Volvo 850 pictures
我认为以下可能有效,尽管它可能会显示所有后代(而不仅仅是直系子女):

<?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 } ?>
您的声明

然后在各个汽车页面上,有更多用于概述、技术规格和图片页面的子菜单。

似乎与不需要“中间”页面相矛盾,因为您说过您希望“概述”页面是您在“汽车”页面上单击车型时所登陆的页面。如果您只想让所有与沃尔沃850相关的页面都有一个沃尔沃850页面列表(例如,在侧栏中),您可以使用this:

<?php 
// use wp_list_pages to display parent and all child pages all generations (a tree with parent)
$parent = 93;
$args=array(
  \'child_of\' => $parent
);
$pages = get_pages($args);  
if ($pages) {
  $pageids = array();
  foreach ($pages as $page) {
    $pageids[]= $page->ID;
  }

  $args=array(
    \'title_li\' => \'Tree of Parent Page \' . $parent,
    \'include\' =>  $parent . \',\' . implode(",", $pageids)
  );
  wp_list_pages($args);
}
?>

SO网友:MikeSchinkel

您在中提出了一个非常类似和相关的问题"Same Custom Fields spanning several pages?" 我认为你的答案是一样的:

结束

相关推荐