我的页面结构如下:
-Home
-Cars
-Volvo 640
- Pics
- Info
-Porsche 911
- Pics
- Info
我想在所有汽车的汽车页面上生成一个汽车列表(这是汽车的子页面)。我该怎么做?该列表基本上是一个子菜单,应该按字母顺序显示所有汽车(注意,我不需要指向“孙子”的链接,如图片、信息)。我还需要从每个汽车页面获取自定义字段数据,并将其放在页面链接旁边。。可能吗?我的页面结构如下:
-Home
-Cars
-Volvo 640
- Pics
- Info
-Porsche 911
- Pics
- Info
我想在所有汽车的汽车页面上生成一个汽车列表(这是汽车的子页面)。我该怎么做?该列表基本上是一个子菜单,应该按字母顺序显示所有汽车(注意,我不需要指向“孙子”的链接,如图片、信息)。我还需要从每个汽车页面获取自定义字段数据,并将其放在页面链接旁边。。可能吗?你可以使用get_pages
要做到这一点,请这样做:
<?php
$args = array(
\'post_type\' => \'page\',
\'child_of\' => 7,
);
$postobj = get_pages($args);
foreach($postobj as $item){
$dir = get_bloginfo(\'template_directory\'); // Theme directory
$title = $item->post_title;
$parent = $item->post_parent;
$id = $item->guid;
$name = $item->post_name;
一旦到达这里,就可以拉出自定义字段并将其放入变量中。 $model_number = get_post_meta($item->ID, \'model_number\', true);
我会使用if
某种形式的声明来构建这些标题。例如,您可以执行以下操作: if($model_number == true){
echo stuff;
} else {
echo other stuff;
}
}
?>
这很艰难,但我认为这会让你走得很远。本质上,您是在以编程方式构建标题并返回所有内容以进行打印。关键是格式化所有内容并正确设置条件。这个wp_list_pages()
函数可以为您提供子页面的列表。不过,从每个页面获取自定义字段数据需要单独的查询和更多的工作。但这是一个开始:
$args = array(
depth => \'1\',
child_of => \'123\'
);
wp_list_pages( $args );
这将为您提供指向页面ID 123的所有子页面的链接列表。这个depth
该规范还防止检索孙页面。但是,正如我之前所说,获取自定义字段数据有点棘手。您需要首先获取每个子页面的页面ID(可能使用query_posts()
) 并将它们存储在一个数组中。然后循环遍历该数组,依次从每个页面获取自定义字段数据。
所以这是可行的。。。但我不能马上给出一个快速的解决方案。