14

最近一直没发表文章了,老伍也一直在忙;寻思着该发表点内容露一下小face;^_^
在找主题时,看到国外一篇文章推荐获取父页面下的所有子页面列表的相关插件时,我觉得这有戏;
因为这个功能完全可以不用那么麻烦地去下载插件、安装插件。。。。
在functions.php里添加些片段就O了啊,干嘛整得那么复杂呢?

示例如下:


function dit_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中添加dit_get_all_children_pages()函数即可调用。
当然,示例代码只是显示了所有子页面的标题列表,你还可以显示更多内容。

用了wordpress一段时间后发现,一些小功能真的没必要安装那么多插件来实现,动动手,其实很简单。

欢迎朋友在论坛提问题,增加互相交流的机会。

本文作者:jokerliang




请直接用微信扫描,加入创业学研社:
wpcourse 微信

更多




请输入您的Email地址,订阅WordPress电子报:

填写您的邮件地址,订阅我们的精彩内容:

, ,

    • 比如说,你新建了个页面叫“关于我们”,ID为9,在未设置静态格式地址时,访问地址可能是***://yourdomain.com/?page_id=9
      在浏览该页面时,当前页面的ID就是9;
      这样讲不知道是否便于理解?

      • Thanks very much….and you are always welcome to visit Vibe English at http://www.vibeenglish.com

请不要在评论里发HTML格式的链接,会直接被屏蔽。

无觅相关文章插件,快速提升流量