johnbillion/wp-crontrol

控制您的WordPress网站上的cron事件

赞助包维护!
johnbillion

安装次数: 45 064

依赖项: 1

建议者: 0

安全: 1

星级: 209

关注者: 10

分支: 37

开放性问题: 5

类型:wordpress-plugin


README

贡献者: johnbillion, scompt
标签: cron, wp-cron, crontrol, debug, woocommerce
测试到: 6.6
稳定标签: 1.17.0
捐赠链接: https://github.com/sponsors/johnbillion

WP Crontrol可以让您控制WordPress网站或WooCommerce店铺上的定时cron事件。

描述

WP Crontrol可以让您控制WordPress网站或WooCommerce店铺上的定时cron事件。在管理员界面中,您可以:

  • 查看所有定时cron事件及其参数、计划、回调函数以及下次到期时间。
  • 编辑、删除、暂停、恢复和立即运行cron事件。
  • 添加新的cron事件。
  • 批量删除cron事件。
  • 添加和删除自定义cron计划。
  • 将cron事件列表导出为CSV文件。

WP Crontrol能够识别时区,会提醒您没有操作或错过计划的事件,如果在cron系统中检测到任何问题,会显示有用的警告消息。

用法

  1. 前往 工具 → Cron事件 菜单来管理cron事件。
  2. 前往 设置 → Cron计划 菜单来管理cron计划。

其他插件

我维护了几个其他针对开发者的插件。查看它们

隐私声明

WP Crontrol默认是私有的,并将始终如此。它不会向任何第三方发送数据,也不包含任何第三方资源。有关WP Crontrol的完整隐私声明,请参阅此处

无障碍性声明

WP Crontrol旨在对所有用户都完全无障碍。有关WP Crontrol的完整无障碍性声明,请参阅此处

常见问题解答

此插件与PHP 8兼容吗?

是的,它目前正在积极测试并支持PHP 8.3。

我收到错误 "在您的网站上调用WP-Cron系统时出现问题"。我该如何修复它?

您可以在WP Crontrol网站上阅读有关在WordPress上调用WP-Cron的所有问题.

为什么有些cron事件会错过其计划?

您可以在WP Crontrol网站上阅读有关错过计划的cron事件的所有信息.

为什么有些cron事件在我删除它们后不久又出现了?

如果事件是由插件添加的,那么插件很可能在看到事件丢失后立即重新安排了事件。为了解决这个问题,您可以使用“暂停此钩子”操作,这意味着它会保持原位,但在运行时不会执行任何操作。

删除cron事件是否安全?

这完全取决于事件。您可以使用您最喜欢的搜索引擎搜索事件名称,以找出它属于哪个插件,然后决定是否删除它。

如果事件显示“无”作为其操作,那么通常可以安全删除。请参阅其他常见问题解答以获取有关无操作事件的更多信息。

为什么我无法删除一些cron事件?

WordPress核心软件使用cron事件来执行其一些功能,因此无法删除这些事件,因为如果您删除了它们,WordPress会立即重新安排它们。因此,WP Crontrol最初就不允许您从WordPress核心中删除这些持久事件。

如果您不想运行这些事件,可以使用“暂停此钩子”操作代替。

暂停事件时会发生什么?

暂停事件将禁用附加到事件钩子的所有操作。事件本身将保留在原位,并按其计划运行,但所有附加到其钩子的操作将被禁用。这使得事件无效,但保持了其计划,以便与当事件缺失时自动重新安排的任何事件保持完全兼容。

由于暂停事件实际上暂停了其钩子,因此在暂停和恢复事件时,使用相同钩子的所有事件都将被暂停或恢复。这比分别暂停单个事件更有用和可靠。

恢复事件时会发生什么?

恢复事件将重新启用附加到事件钩子的所有操作。使用相同钩子的所有事件都将恢复。

当cron事件的“操作”显示“无”时意味着什么?

这意味着cron事件已安排在指定的时间运行,但事件运行时没有相应的功能将被触发,因此事件是无用的。

这通常是由在您停用它们时未清理其cron事件的插件引起的。您可以使用您喜欢的搜索引擎搜索事件名称,以找出它属于哪个插件,然后决定是否删除它。

我如何更改cron事件的下一次运行时间或计划?

您可以通过单击事件旁边的“编辑”链接来更改cron事件的时间和计划。

我如何创建一个请求URL的cron事件?

从“工具→cron事件”菜单,单击“添加新cron事件”。选择“URL cron事件”选项,填写详细信息,然后按“添加事件”按钮。

您可以在WP Crontrol网站上阅读有关URL cron事件的功能和安全的所有信息.

为什么我对某些cron事件所做的更改无法保存?

您可以在WP Crontrol网站上阅读有关编辑cron事件问题的所有信息.

我可以导出cron事件列表吗?

是的,可以通过cron事件列表屏幕上的“导出”按钮导出事件列表的CSV文件。此文件可以在任何电子表格应用程序中打开。

我可以看到我网站上运行的 所有cron事件的 历史记录吗?

目前还不能,但我希望很快添加此功能。

我可以看到cron事件和计划的编辑、添加和删除的历史记录吗?

是的。出色的Simple History插件内置了对通过WP Crontrol执行的操作的记录支持。

添加新的cron计划有什么用?

Cron计划由WordPress和插件用于安排定期执行的事件。间隔必须由WordPress核心或插件提供才能使用。例如,许多备份插件提供定期备份的支持。为了进行每周备份,必须首先在WP Crontrol中输入每周cron计划,然后备份插件可以利用它作为间隔。

我如何创建一个新的cron事件?

要设置一个定期执行的cron事件,分为两个步骤。第一步是告诉WordPress关于钩子的信息。这是WP Crontrol被创建来提供的部分。第二步是在钩子执行时调用一个函数。

第一步:添加事件

从“工具 → Cron事件”菜单中,点击“添加新cron事件”。填写事件的详细信息。最好使用符合正常PHP变量命名约定的钩子名称。计划是事件执行的频率。如果您看不到合适的时间间隔,则可以在“设置 → Cron计划”菜单中添加一个。

第二步:编写函数

这部分代码在PHP代码中(例如,在主题的functions.php文件中)。为了执行钩子,WordPress运行一个动作。因此,我们需要告诉WordPress在运行此动作时执行哪个函数。以下行完成了这个任务

add_action( 'my_hookname', 'my_function' );

下一步是编写您的函数。这里有一个简单的例子

function my_function() {
	wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}

如何创建一个新的PHP cron事件?

从“工具 → Cron事件”菜单中,点击“添加新cron事件”。选择“PHP cron事件”选项,输入计划和下一次运行时间。事件计划是您的事件将执行的频率。如果您看不到合适的时间间隔,则可以在“设置 → Cron计划”菜单中添加一个。在“PHP代码”区域中,输入在您的cron事件执行时应该运行的PHP代码。您不需要提供PHP开头标记(<?php)。

创建、编辑和运行PHP cron事件受严格的安全权限限制。您可以在WP Crontrol网站上了解有关PHP cron事件的所有功能和安全信息

哪些用户可以管理cron事件和计划?

只有具有manage_options权限的用户可以管理cron事件和计划。默认情况下,只有管理员具有此权限。

哪些用户可以管理PHP cron事件?这是否危险?

只有具有edit_files权限的用户可以管理PHP cron事件。这意味着如果用户无法通过WordPress管理区域(即通过插件编辑器或主题编辑器)编辑文件,那么他们也无法在WP Crontrol中添加、编辑或删除PHP cron事件。默认情况下,只有管理员具有此权限,并且启用多站点时,只有超级管理员具有此权限。

如果已通过DISALLOW_FILE_MODSDISALLOW_FILE_EDIT配置常量禁用文件编辑,则没有任何用户将具有edit_files权限,这意味着将不允许添加、编辑或删除PHP cron事件。

因此,激活WP Crontrol后,执行任意PHP代码所需的用户访问级别不会改变。

您可以在WP Crontrol网站上了解有关PHP cron事件的所有功能和安全信息.

是否有可用的WP-CLI命令?

之前包含在WP Crontrol中的cron命令现在已成为WP-CLI本身的一部分。有关更多信息,请参阅wp help cron

停用WP Crontrol插件会发生什么?

您可以在WP Crontrol网站上了解有关停用插件时会发生什么的详细信息.

我如何报告安全漏洞?

您可以通过官方WP Crontrol漏洞披露计划在Patchstack上报告安全漏洞。Patchstack团队帮助验证、分类和处理任何安全漏洞。

插件标题图像中的照片是谁拍摄的?

照片由Michael Pardo拍摄,属于公有领域。

屏幕截图

  1. Cron事件可以修改、删除和执行

  2. 可以添加新的cron事件

  3. 可以添加新的cron计划,为插件开发者提供更多在安排事件时的选择