如何使用 WP-CLI 删除后期修订

有时您可能需要清理在您的网站上创建的帖子修订。 这是可能的,使用 WP-CLI 中已有的命令。

WP-CLI 有一个 wp帖子删除 可用于删除后期修订的命令。 后期修订是对您网站上的内容所做的更改,随着时间的推移,您网站上的这些后期修订可能会增加。 以下说明假设您使用的是 Liquid Web 的托管 WordPress 或托管 WooCommerce 产品之一。 您也可以将这些技术与其他 WordPress 安装一起使用,只需确保从主 WordPress 安装文件夹运行命令。

准备运行命令

第一步是从您的站点管理器生成 sFTP/SSH 凭据。 您可以在 Mac 上使用 Terminal,或在 PC 上使用 Putty 来使用 WP-CLI。 有关使用 SSH 登录服务器的更多信息,请参阅 通过 Secure Shell (SSH) 登录您的服务器.

登录,然后输入以下内容进入 WordPress 安装文件夹:

cd html

在对您的站点进行重大更改之前创建数据库备份始终是一个好主意,例如批量删除修订后的内容。 要创建手动备份,请运行以下命令:

wp db export

您现在可以使用 gzip 压缩生成的 sql 文件,这意味着将较小的文件存储在您的服务器上:

gzip sitebackup.sql

清理您的帖子修订

要删除发布的所有修订(将它们暂时移入垃圾箱),请使用此 WP-CLI 命令:

wp post delete $(wp post list --post_type="revision" --format=ids)

要删除已移至垃圾箱的帖子修订(这包括所有帖子状态为垃圾的帖子修订),请运行以下命令:

wp post delete $(wp post list --post_type="revision" --format=ids --force)

您只需运行第二个命令即可跳过将帖子移至垃圾箱的第一步。 这将删除所有帖子修订,包括垃圾箱中的修订和网站活动部分中的修订。

对后期修订删除的更多控制

如果您需要更多地控制删除帖子修订,有一个 包裹 可以从第三方为 WP-CLI 安装。 请注意:此套餐不由 Liquid Web 提供,也不受 Liquid Web 的认可。 请自行决定使用。

要为 WP-CLI 安装包,请运行以下命令:

wp package install trepmal/wp-revisions-cli

安装包 WP Revisions 后,要清除所有后期修订,您可以使用以下命令。 请注意:此命令可能很慢,因为它会在删除之前查询发布的修订。

wp revisions clean -1

如果您想删除特定日期之前的所有帖子修订,您可以将其包含在命令中。 为了 example:

wp revisions clean --before-date=2019-06-10

如果您需要清除除特定帖子类型之外的所有帖子修订,请在命令末尾包含该帖子类型。 为了 example,如果您运行以下命令,则不会删除 WooCommerce 创建的产品帖子类型的修订:

wp revisions clean --post_type=product

要更快地删除所有后期修订,您可以运行以下命令:

wp revisions dump --hard

要列出所有现有的帖子修订,您可以运行以下命令:

wp revisions list

从您的站点数据库中轻松删除帖子修订将有助于保持数据库的清理。 简化数据库可以提高性能,尤其是随着数据库大小的增长。