根据您的评论,这里还有另一个选项,即使用wp\\U list\\u页面,无需使用数组和手动提取内容,我省略了一系列选项,只保留了一些基本要素。
<ul>
<?php
$priority_pages = \'5,1,3,7\';
wp_list_pages(array(\'include\' => $priority_pages);
wp_list_pages(array(\'exclude\' => $priority_pages);
?>
</ul>
因为,wp\\u list\\u页面只提供
<li>
元素,可以多次使用此函数来提取所需的所有页面。因此,现在您只能从顶部取出所需的页面,然后将其余页面拉入。您可以使用所有其他选项像普通一样对树进行排序和过滤(注意,我喜欢使用数组而不是字符串,代码看起来更干净)。
阅读codex page for wp_list_pages 有关更多选项
获取你想要的ID列表。
<?php
$my_wp_query = new WP_Query();
$all_wp_pages = $my_wp_query->query(array(\'post_type\' => \'page\'));
$parent = $wp_query->$post-ID;
$children = $get_page_children($parent, $all_wp_pages);
?>
我们现在拥有的是
$children
我们需要的信息。现在我要做的是循环
$children
正在查找文件
post_title
等于您想要的,并存储
ID
. 通过将这些存储为数组,您将能够使用包含、排除函数
wp_list_pages
虽然不是100%完成,但它会让你开始
<?php
$priority_pages_a = array();
foreach($children as $child) {
if(strpos($child->post_title,"Summary") {
$priority_pages_a[0] = $child->ID;
} elseif (strpos($child->post_title,"Info") {
$priority_pages_a[1] = $child->ID;
}
}
$priority_pages = implode(",",$priority_pages_a);
?>
我们所做的是创建一个数组,将ID按您想要的数组顺序放置。然后将其内爆为逗号分隔的字符串,可以使用
wp_list_pages
获得你想要/需要的。
这个get_page_children
不接触数据库,但“获取所有”页面会这样做:/所以这是一个清洗。
我还没有完全测试过这段代码,但它应该可以工作。
另请注意get_page_by_title
, 因此,如果你的标题完全是“摘要”,那么你可以用它来获取ID,但在你的问题中,你说包含,所以我选择了这条路线。