是否可以在插件运行时使用WP核心维护模式进行短暂的暂停?

时间:2014-01-03 作者:jb510

我编写了一个插件,可以手动(按管理按钮)删除其他插件创建的数百篇帖子。另一个插件基于外部API创建帖子。

我遇到的情况是,API插件在删除过程中偶尔会开始创建新帖子。

我想知道是否有一种方法可以使用WP的核心维护模式几秒钟,在删除运行时暂停站点上的所有其他内容?

我已经查看了更新核心。php和更新。php,但我不太清楚它是如何启动和终止维护模式的。我有点希望有一个功能来设置维护模式,另一个功能来清除维护模式,但我没有看到它。也可以通过其他方式避免这种比赛状态。

1 个回复
最合适的回答,由SO网友:Eugene Manuilov 整理而成

通过创建.maintenance 文件位于WordPress实例的根目录中。您的脚本应如下所示:

// create maintenance file before starting the long lasting process
file_put_contents( ABSPATH . \'.maintenance\', \'<?php $upgrading = \' . time() . \';\' );

// do stuff ...

// after finishing working on your stuff remove maintenance file
unlink( ABSPATH . \'.maintenance\' );
WordPress检查根目录中是否存在维护文件,如果存在,则检查$upgrading 变量仅显示维护消息10分钟。

默认情况下,WordPress在维护模式下显示标准消息。它包含以下文本:

Briefly unavailable for scheduled maintenance. Check back in a minute.
如果要运行自己的脚本并生成唯一的维护输出,则可以创建maintenance.php wp内容文件夹中的文件。WordPress加载该文件(如果存在),并在调用该文件后停止执行进程。

结束

相关推荐

“自动WordPress更新无法完成-请立即重新尝试更新”--但没有.Maintenance文件

在自动升级失败后,我正在尝试手动将wordpress升级到最新版本(3.0.3)。升级后,一切正常,除了在我的管理区顶部有一条令人不快的消息:自动WordPress更新未能完成-请立即重试更新我在互联网上搜索,每个人都说这是因为.maintenance 文件位于Wordpress根文件夹中,是自动升级或手动升级失败的遗留文件。在第二种情况下,只需删除该文件,一切都会很好。但我搜索我的wordpress安装目录,没有这样的文件。知道是什么导致了这个问题吗?