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