在使用WordPress建站的过程当中,有些时候,我们需要循环输出父页面下的所有子页面信息。当然我们可以通过安装插件来实现,但是这么简单的功能也去下载插件,安装插件,未免有点小题大做了,下面我们介绍一下不使用插件通过代码实现的方法。
1. 切换到主题目录,打开functions.php文件,添加如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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("<a href='%s'>%s</a>", $url, $title); } wp_reset_postdata(); if ( !empty( $html ) ){ echo $html; } } } |
2. 在page.php中添加wp_get_all_children_pages()函数调用
这样我们就输出了父页面下的所有子页面标题列表,你还可以通过修改代码来显示更多内容。