【发布时间】:2018-11-15 02:05:10
【问题描述】:
我已将以下内容添加到我的 Wordpress functions.php 文件中,以便每 5 秒向输入的电子邮件地址发送一封邮件,但它不起作用。我添加了一些日志来检查作业是否运行了钩子,但它只是在初始化它,仅此而已:
add_filter( 'cron_schedules', 'five_seconds_interval' );
function five_seconds_interval( $schedules ) {
$schedules['five_seconds'] = array(
'interval' => 5,
'display' => esc_html__( 'Alle 5 Sekunden' ),
);
return $schedules;
}
add_action('init', 'schedule_my_cron',10);
function schedule_my_cron(){
error_log("schedule_my_cron()");
wp_schedule_event(time(), 'five_seconds', 'my_job');
}
function my_job() {
error_log("my_job()");
wp_mail('test@localhost.de', 'Cronjob funktioniert!', 'LOL', 'Von IBims');
}
这是我在日志文件中得到的内容:
[14-Nov-2018 17:31:24 UTC] schedule_my_cron()
我还在我的配置文件中禁用了 Wordpress 的正常 cronjob:
define('DISABLE_WP_CRON', true);
在此之后,我创建了一个运行良好的 unix cronjob。所以我期待当我每 5 秒运行一次 unix cronjob 时,我的邮件就会发送到该地址。怎么了?
更新
我可以确认我的自定义计划已成功添加,这是wp get schedules() 的部分输出:
[five_seconds] => Array
(
[interval] => 5
[display] => Alle 5 Sekunden
)
【问题讨论】:
-
创建自定义日程后,您确认添加成功了吗?它应该在
wp get schedules()的返回中。 -
是的,添加成功先生。看看我的问题。