Wordpress免费主题插件

WordPress如何让文章来按照修改时间来排序

本站的内容主要涉及WordPress的主题和插件,如果相关内容有了更新那么文章的内容就会相应的变更。WordPress默认显示文章的排序为文章的发布时间,这样即使文章更新了也不会排到前端。

百度有很多方法,不是修改发布时间就是利用插件,感觉比较麻烦。查看了一下数据库,发现在帖子更新的时候数据库会记录更新的时间,那么如果按照这个时间来排序就会把最新的文章显示到最前面。

帖子查询一般用WP Query ,那么就在这个上面动刀子。代码如下,放到function.php中就可以了

//修改默认的WordPress query函数
function wp37_com_custom_query( $query ) {

	// 确保只修改主查询 
    if( $query->is_main_query() && ! is_admin() ) {
    	// 在首页和分类页面进行,
 		if($query->is_home() || $query->is_category() ){	 		
	        $query->set( 'orderby', 'modified' );
	        $query->set( 'order', 'DESC' );
	        // 由于某些插件或主题已修改默认查询,此代码有时可能无法按预期工作。使用supress_filters参数解决这个问题
	        $query->set( 'suppress_filters', 'true' );	
 		}        
    }
}
add_action( 'pre_get_posts', 'wp37_com_custom_query' );

3条评论

  • 你好大神报错了怎么整?Parse error: syntax error, unexpected ‘;’ in /functions.php on line 879

    • 目前测试5.2.2的版本没有问题,低版本的没有试过。
      报错检查你function.php中879附近行是不是结尾忘记加;

Your Header Sidebar area is currently empty. Hurry up and add some widgets.