WPMEE

学习WordPress就来WPMEE

WordPress:如何获取父页面下的所有子页面列表


最近看到一款插件是用来获取父页面下的所有子页面列表的,看了半天发现这个功能完全可以不用那么麻烦地去下载插件、安装插件。。。。
在functions.php里添加些片段就OK了啊,干嘛整得那么复杂呢?今天就分享一下代码

function wpmee_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 ($pages as $post) {
	        setup_postdata($post);
	        $url = get_permalink($post->ID);
	        $title = $post->post_title;
	        $html .= sprintf("<a href='%s'>%s</a>", $url, $title);
	    }
	    wp_reset_postdata();
	    if ( !empty( $html ) ){
	    	echo $html;
	    }
	}
}

在page.php中添加wpmee_get_all_children_pages()函数即可调用。
当然,示例代码只是显示了所有子页面的标题列表,你还可以显示更多内容。
用了wordpress一段时间后发现,一些小功能真的没必要安装那么多插件来实现,动动手,其实很简单。
我个人的原则就是尽量少安装插件,能代码解决的一定会用代码


0条评论

发表评论

You must be logged in to post a comment.