最后更新时间为 2018年6月5日
在使用WordPress建站的过程当中,有些时候,我们需要循环输出父页面下的所有子页面信息。当然我们可以通过安装插件来实现,但是这么简单的功能也去下载插件,安装插件,未免有点小题大做了,下面我们介绍一下不使用插件通过代码实现的方法。
1. 切换到主题目录,打开functions.php文件,添加如下代码:
function wp_get_all_children_pages(){
if ( is_page() ){
//当前页面的ID
$current_obj_id = get_queried_object_id();
$args = array(
'post_status' => 'publish',
'post_type' => 'page',
'post_parent' => $current_obj_id,
'orderby' => 'menu_order',
'order' => 'ASC',
'nopaging' => true,
);
$child_pages = get_posts($args);
$html = "";
foreach ($child_pages as $page) {
setup_postdata($page);
$url = get_permalink($page->ID);
$title = $page->post_title;
$html .= sprintf("%s", $url, $title);
}
wp_reset_postdata();
if ( !empty( $html ) ){
echo $html;
}
}
}
2. 在page.php中添加wp_get_all_children_pages()函数调用
这样我们就输出了父页面下的所有子页面标题列表,你还可以通过修改代码来显示更多内容。