由于文章更新了,想按更新日期排序,不必要修改发布日期,比如一款软件版本更新了,要升级,我后台更新后,大家也是没办法马上知道的,因为博客默认是按发布日期排序的,所以我必须修改发布日期才能排在最前面。
一、文章排序参数
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
按更新日期排序后,感觉博客离完美又近了一点。
2013年11月14日 17:17 沙发
这个不错,不过一般博客中的文章不怎么更新的
2013年11月14日 17:21 1层
@陆阳贤博客 有些文章是要原文更新比较实用。