在使用 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() 函数调用
这样我们就输出了父页面下的所有子页面标题列表,你还可以通过修改代码来显示更多内容。