如何查看和管理 WordPress Cron 作业

已发表: 2022-05-11

Cron 是一个作业调度程序,它允许用户在 Linux 或类 Unix 操作系统中运行计划任务。

WordPress 有自己的 Cron,称为 WP-Cron。 WordPress Cron 的主要目的是运行核心 WordPress 任务。 在本文中,我们将介绍什么是 WP-Cron,如何查看和管理 WordPress Cron 作业,以及如何在您的网站中禁用 WP-Cron。

目录

什么是 WordPress Cron
如何管理 Cron 作业
查看 WordPress Cron 事件
编辑 Cron 事件
添加新的 Cron 事件
Cron 时间表
禁用 Wp Cron
结论

什么是 WordPress Cron?

WordPress Cron (WP-Cron) 是指 WordPress 如何促进任务的调度。 这些任务称为 Cron 作业。 Cron 作业的示例包括:发布计划的帖子、执行备份和更新检查。

WordPress Cron 通过在页面加载时检查需要运行的内容来基于计划任务工作。 然而,这有时是一个缺点,因为如果在有计划任务的时候没有发生页面加载,那么这将导致错误。 然而,尽管这是一个缺点,但可以保证任务最终会运行,至少在基于任务的队列位置加载下一页之前。

如何管理 Cron 作业

借助 WP Crontrol 插件,实际上可以查看、添加和修改 Cron 作业。

为了使用该插件,请导航到 WordPress 仪表板中的插件 > 添加新部分,然后搜索 WP Crontrol 插件。

接下来,安装并激活插件。

完成安装后,您可以继续在 WordPress 站点中管理 Cron 作业。

查看 WordPress Cron 事件

要查看 WordPress Cron 事件,请导航到 WordPress 仪表板中的工具 > Cron 事件部分。

在这里,您可以查看计划在您的网站内运行的所有活动。

这些事件分为不同的类别:

  • 没有动作的事件
  • WordPress 核心事件
  • 自定义事件

在第一列下,您可以查看用于运行 Cron 事件的挂钩。 钩子名称提供了计划事件的作用的概念。 带有前缀 wp 的钩子是 WordPress 核心事件钩子。 这些挂钩无法删除。

在第二列中,有“参数”部分。 此列包含传递给挂钩的参数。 如果钩子不包含参数,则呈现“无”占位符。

第三列是“下一次运行”。 这将显示 Cron 事件下一次运行的时间以及到下一次运行该事件的时间间隔。

第四列是“动作”。 在这里,我们有 Cron 挂钩将执行的操作。

“重复”是最后一列。 它包含关于事件何时重复或事件再次发生的定义。

编辑 Cron 事件

要编辑 Cron 事件,请将鼠标悬停在 Cron 事件上,然后单击事件上的编辑链接。

然后,您将被重定向到“编辑 Cron 事件”部分。 在这里,您可以根据自己的喜好自定义活动。

添加新的 Cron 事件

通过单击 Cron Events 部分中的“Add New”按钮创建一个新的 Cron 事件。

然后,您将被重定向到具有“添加 Cron 事件部分”的下一个屏幕。

在此部分中,指定事件类型(无论是标准事件还是 PHP Cron 事件)。

接下来,指定挂钩名称。 钩子名称需要遵循 WordPress 命名约定。 在我们的例子中,我们将添加钩子名称“wpb_publish_post”。

在参数部分,您可以填写需要添加到数组中的参数。 然而,这是可选的。

在“下一次运行”部分中,指定事件运行的时间,在“重复”部分中,指定事件运行的频率。

下面是我们将在此处指定的详细信息的示例说明:

添加事件后,我们将从事件列表中查看事件,如下所示:

现在,将决定挂钩功能的 PHP 代码添加到主题的 functions.php 文件中。

在我们的例子中,我们将添加代码以发布特定的帖子。 为此,您需要添加以下代码:

 function publish_post_func(){ //Assign your Post ID $post = 717; //Run the publish post function $result = wp_publish_post($post); } add_action( 'wpb_publish_post', 'publish_post_func' );

此代码将发布我们的一篇帖子,其中帖子 ID 为 717。您可以根据您网站上的可用帖子使用您偏好的帖子 ID。

请注意,我们指定的事件重复是“非重复”,因为您只能发布一次帖子。

一旦到达设定的“下一次运行”时间,就会发布帖子。 以下是关于此的截屏视频:

Cron 时间表

WP Crontrol 插件包含默认的 Cron 计划。 这些可以从 WordPress 仪表板中的“设置”>“Cron 计划”部分中识别。 如果您有添加自定义计划的插件,那么这些也将反映在本节中。 您还可以在该部分中添加自己的自定义计划。 以下是本节的示例插图:

如果您希望通过代码手动添加时间表,这也是可以实现的。 下面是添加 60 秒 Cron 间隔的示例代码。 您可以将代码添加到主题的 function.php 文件中:

 add_filter( 'cron_schedules', 'cron_interval' ); function cron_interval( $schedules ) { $schedules['sixty_seconds'] = array( 'interval' => 60, 'display' => esc_html__( 'Every Sixty Seconds' ), ); return $schedules; }

添加后,您将在 Cron 计划列表中查看计划:

禁用 Wp Cron

在高流量网站中,WordPress Cron 可能会对您的网站性能产生负面影响,尤其是在页面加载方面。 在这种情况下,禁用 WordPress Cron 而使用 Server Cron 是有意义的。

为了禁用默认的 WordPress Cron,您需要执行以下操作:

通过 FTP 访问您的站点文件。 您可以使用诸如 Filezilla 之类的 FTP 软件或您的主机提供的诸如 cPanel 之类的面板来执行此操作。

导航到 WordPress 文件的根目录并选择编辑 wp-config.php 文件。

在文件中,在“/* 就这样,停止编辑! 快乐出版。 */”。

 define('DISABLE_WP_CRON', true);

下面是一个示例截图:

完成后,保存您的更改。

结论

使用 WordPress Cron,您可以非常轻松地安排 Cron 事件。 在本文中,我们介绍了什么是 Cron 作业,如何使用 WP Crontrol 插件管理它们以及如何禁用 WordPress Cron。

我们希望这篇文章有助于提供有关如何管理 WordPress Cron 事件的见解。 如果您有任何问题或建议,请随时在下面发表评论。