在使用 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() 函數調用

這樣我們就輸出了父頁面下的所有子頁面標題列表,你還可以通過修改代碼來顯示更多內容。