WordPress 排序文章和控制修订版

记录两个功能的改动:按更新时间排序文章、删除文章修订版

1、按更新时间排序文章

在(子)主题的 archive.php、search.php、index.php 中,找到下面的代码:

while ( have_posts() ) :
	the_post();

在 while 这一行之前添加下面一句代码:

$posts = query_posts($query_string . '&orderby=modified');

这样文章就可以按照更新时间进行排序了;

archive.php、search.php、index.php 三个页面分别对应归档列表、搜索列表和首页默认列表。

显示的时候,我想同时显示创建时间和更新时间,需要在 (子)主题/inc/template-tags.php 中进行修改;
具体的改动依主题不同会有差异,但创建时间和更新时间取值是相同的:get_the_date() 和 get_the_modified_date();

这样改了会出现一个问题,到文章详情页,底部有个上一篇、下一篇文章的链接,这个顺序还是按照发布时间排的,我觉得还好,暂时没有处理;

2、删除修订版

文章的发布、保存、自动保存,都会生成一个修订版;

编辑文章的时候,右侧工具栏会显示 “xx个修订版”,点击进入可以对比查看每个版本的差异,还可以进行恢复操作,对我来说,这个功能用处不大,而且修订版生成的数量有点儿多,我现在有文章五十多篇,数据库的表(wp_posts)里边存了八百多条数据(wp_posts 里还存了一些图片地址);所以决定清除库中的修订版数据并关闭该功能;

关闭修订版功能

wp-config.php 中添加:

define('WP_POST_REVISIONS', false);  // 关闭修订版功能

删除库中已存在的修订版数据

delete from wp_posts where post_type='revision'

修订版的 post_type 为 revision;

我删除修订版数据之后,数据量从八百多条缩到一百多条,备份文件从 4.9MB 缩小到 892KB;

*操作之前请先备份数据,防止错误发生;

如果这篇文章对你有用,可以点击下面的按钮告诉我

0

发表回复