在使用 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() 函數調用
這樣我們就輸出了父頁面下的所有子頁面標題列表,你還可以通過修改代碼來顯示更多內容。