【www.bbyears.com--WordPress】
按日期排序
首先打开首页 index.php 文件,找如类似于 if (have_posts()) 这样的循环,然后修改成如下的代码:
// query_posts函数
query_posts("orderby=comment_count"); //以评论最多到最少的排序方式
//主循环
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
查找:
修改成:
然后查找: 修改成如下代码:
endif;
// 重置query
wp_reset_query()
?>
这个时候文章已经按照评论数量的多少来进行排序了,但有时候会遇到无法分页的情况,哪么我们可以找到query_posts函数修改成如下的代码:
$paged = (get_query_var("paged")) ? get_query_var("paged") : 1;//控制分页
$args = array(
// 这里以下面的方式添加query_posts参数,具体参数可以参加官方文档
"orderby" => comment_count,
"paged" => $paged
);
query_posts($args);
//主循环
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
现在首页已经按照评论的数量多少来进行排序了,如果还要自定义其它页面的排序方法,基本上按照这个来修改就可以了,其它页面的修改要打开相应页面去修改,比如标签页面 tag.php
文章的数量和排序方式
1.可以添加代码至相关页面模板(category.php、search.php、archive.php)
把如下代码:
添加至category.php、search.php、archive.php或其它页面模板中,以下函数之前:
代码中的15就是显示多少条。
增加文章排序方式
文章排序
href="/?order=rand" rel="nofollow">随机阅读
href="/?order=commented" rel="nofollow">评论最多
href="/?order=alpha" rel="nofollow">标题排序
改变主循环
首先你得先在主题的index.php中找到以下语句:
代码如下:
if (have_posts())
然后在这句之前添加以下代码:
代码如下:
if ( isset($_GET["order"]) )
{
switch ($_GET["order"])
{
case "rand" : $orderby = "rand"; break;
case "commented" : $orderby = "comment_count"; break;
case "alpha" : $orderby = "title"; break;
default : $orderby = "title";
}
global $wp_query;
$args= array("orderby" => $orderby, "order" => "DESC");
$arms = array_merge($args, $wp_query->query);
query_posts($arms);
}
if (have_posts())