首页 视频课程 主题开发课程第30章、定时任务 WordPress查看与删除定时任务,管理定时任务

WordPress查看与删除定时任务,管理定时任务

2023-06-11 / 214阅

WordPress定时任务管理

WordPress提供了一个方便的定时任务管理系统,称为WP-Cron。它提供了一种跨服务器使用的方式来定时运行代码,使您可以在不了解Linux Cron或Windows计划任务的情况下轻松管理自己的定时任务。

查看WP-Cron任务的代码

如果您想查看WP-Cron以运行所有WordPress计划的任务的代码,可以在wp-includes目录中找到cron.php文件。 在该文件中,您将看到WP-Cron的实际逻辑,以及与定时任务相关的所有代码。

查看WP-Cron任务

您可以使用多个WordPress插件来查看并管理WP-Cron任务。 这里介绍两个使用最广泛的插件:

1. WP Crontrol

WP-Crontrol是一款强大的插件,可用于管理所有WP-Cron事件。您可以按名称,挂钩动作或计划时间表过滤事件,并显示每个事件的详细信息。此外,您还可以添加,编辑和删除事件。

2. Advanced Cron Manager

Advanced Cron Manager是另一种流行的WP-Cron事件管理器。 它可以显示所有事件的清单,允许您按名称或计划时间表过滤它们。 此外,您还可以添加,编辑和删除事件。

删除WP-Cron任务

要删除WP-Cron事件,您需要使用代码。 您可以在将以下代码添加到functions.php文件中:

// Remove an event from the WP-Cron schedule
function remove_event() {
    $timestamp = wp_next_scheduled( 'my_event' );
    wp_unschedule_event( $timestamp, 'my_event' );
}
add_action( 'admin_init', 'remove_event' ); 

此代码将在管理员登录后自动调用,并删除名为“ my_event”的事件。

示例代码

以下是创建WP-Cron事件的示例代码:

function my_function() {
    wp_mail( 'email@example.com', 'The subject', 'The message' );
}
add_action( 'my_event', 'my_function' ); 

此代码将在调用“ my_event”事件时执行“ my_function()”。 要调度此事件,请使用以下代码:

// Schedule the event to run once in one minute
wp_schedule_single_event( time() + 60, 'my_event' ); 

此代码会将“ my_event”添加到WP-Cron时间表中,并将在大约一分钟后运行第一次。

Markdown

以下是使用Markdown格式对WP-Cron事件进行编排的示例:

查看WP-Cron任务的代码

您可以在wp-includes目录的cron.php文件中查看WP-Cron的代码。

查看WP-Cron任务

您可以使用多个WordPress插件来管理WP-Cron任务。这里介绍两个著名的插件:

  • WP Crontrol
  • Advanced Cron Manager

删除WP-Cron任务

您可以使用以下代码在functions.php文件中删除WP-Cron事件:

// Remove an event from the WP-Cron schedule
function remove_event() {
    $timestamp = wp_next_scheduled( 'my_event' );
    wp_unschedule_event( $timestamp, 'my_event' );
}
add_action( 'admin_init', 'remove_event' ); 

示例代码

以下是创建WP-Cron事件的示例代码:

function my_function() {
    wp_mail( 'email@example.com', 'The subject', 'The message' );
}
add_action( 'my_event', 'my_function' ); 

以下是调度事件的示例代码:

// Schedule the event to run once in one minute
wp_schedule_single_event( time() + 60, 'my_event' ); 

阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228

大家谈论
    我的见解
    目录