修改WordPress博客首页按更新日期排序

nZone 2013年11月13日更新于9 月前 共1282字 21行代码 预计6分钟 2 4,996
阿里云折扣】服务器活动对比【腾讯云秒杀
博客文章按更新日期排序

由于文章更新了,想按更新日期排序,不必要修改发布日期,比如一款软件版本更新了,要升级,我后台更新后,大家也是没办法马上知道的,因为博客默认是按发布日期排序的,所以我必须修改发布日期才能排在最前面。

一、文章排序参数

1、根据orderby的值不同,可以让文章按照很多种方式进行排序,下面是列举几个常见的值及其对应的排序方式:

  • title:按标题;
  • date:按发布日期;
  • modified:按修改时间;
  • ID:按文章ID;
  • rand:随机排序;
  • comment_count:按评论数

2、如果你同时想修改标签页、分类页等存档页面的文章排列顺序的话,同样可以按照上面的方法修改主题目录下的archive.php等。

二、修改文章排序方法

下面是修改博客按更新日期排序的方法。

1、进入WordPress当前主题目录,打开“index.php”,有的主题是“blog.php”文件,搜索代码:

<?php
while ( have_posts() ) : the_post(); ?>

不用全部复制去搜索,复制几个单词就好,不然可能搜索不到。

2、在“while”的前面插入下面几行代码(不是替换):

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'orderby' => modified,
'showposts' => 10,
'paged' => $paged
);
query_posts($args);

3、继续搜索:

<?php endwhile;?>

4、将其完整替换为:

<?php endwhile; wp_reset_query();?>

保存,(上传更新文件)刷新,大功告成!

之前一直没有实现,早上试了下,竟然成功了。只有首页是按更新日期排序,分类目录还是按发布日期排。本博客每篇文章下方的作者栏目,都有显示更新日期,可以参考,有些我只是更新下标签之类的,以后发布的文章尽量确定好,以免不必要的更新提示了。

以上文章内容发表于2013年11月13日。

2023年10月11日更新如下:

三、解决Begin主题文章排序问题

前面的方法改是比较通用笼统的做法,因为现在用的是Begin主题的博客布局,所以修改“template”文件夹下的“blog.php”文件。

最近才发现首页并没有按更新日期排序,而右侧的博客布局文章排序按钮选项没有显示。

博客文章排序按钮

我是用ChatGPT来优化代码的,经过多次调整测试,总算是能用了。并且将文章排序按钮增加个选项:按更新时间排序,本来是没有的。

另外,首页权重比较低,可能是文章数量太少,于是调整为30篇。

有些代码有点过时了,比如 query_posts 是一个过时的函数,现在更推荐使用 WP_Query 类来构建查询。但如果优化后,按钮就又失效了。不得已,能用就将就使用吧。

目前这个Begin主题是老旧的破解版,点赞分享功能还是不能用。

四、分类文章按更新日期排序

首页是有控制按钮,不过分类页是没有,应该也按更新日期排序比较好。

直接在主题的 functions.php 文件中添加以下代码即可实现,无需直接修改模板文件:

function custom_order_by_modified( $query ) {
    if ( is_category() && $query->is_main_query() ) {
        $query->set( 'orderby', 'modified' );
    }
}
add_action( 'pre_get_posts', 'custom_order_by_modified' );

使用这种方式,更符合 WordPress 的开发规范,并且更易于维护。

五、文章归档

首页和分类页都按更新时间排序了,那是不是没有按发布日期显示了?并不会,因为闹着玩下网有做了两个文章归档页面。

1、时间年表:https://www.nzonex.com/archives/

以前叫文章归档,后面想了个名字,叫时间年表更贴合一点。这是按发布日期排序的。

2、分类归档:https://www.nzonex.com/category/

这个页面是后面做的,本来不想做的,因为分类路径有category,这个目录却是空的,做面包屑导航时想加个总的分类,并且按日期排序,这样应该体验更好。

六、相关链接

1、按更新日期排序:https://www.nzonex.com/?order=modified(默认)

2、按发布日期排序:https://www.nzonex.com/?order=date

3、按评论量排序:https://www.nzonex.com/?order=commented

4、按浏览量排序:https://www.nzonex.com/?order=views

5、按点赞量排序:https://www.nzonex.com/?order=digg

6、随机排序:https://www.nzonex.com/?order=rand

按更新日期排序后,感觉博客离完美又近了一点。

weinxin
公众号
闹着玩下网
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  0   博主  0

    • avatar 陆阳贤博客 来自天朝的朋友 未知浏览器 Unknow Os 江苏省 移动数据上网公共出口

      这个不错,不过一般博客中的文章不怎么更新的

        • avatar nZone 博主 来自天朝的朋友 未知浏览器 Unknow Os 福建省厦门市 联通

          @陆阳贤博客 有些文章是要原文更新比较实用。