我从来没有创造过一个CRON的工作,我的尝试到目前为止还没有产生任何实际的结果!
为了进行测试,我使用了另一个站点的一个例子,并添加了一些代码,以便在作业运行时简单地发送和发送电子邮件,在本例中是每小时发送一次。
这是我的密码:
Add_action(‘my_逐时事件’,'do_this_hourly');
function my_activation() {
if ( !wp_next_scheduled( 'my_hourly_event' ) ) {
wp_schedule_event( current_time( 'timestamp' ), 'hourly', 'my_hourly_event');
}
}
add_action('wp', 'my_activation');
function do_this_hourly() {
// do something every hour
$to = 'jon@mydomain.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@mydomain.com' . "\r\n" .
'Reply-To: webmaster@mydomain.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
// do something every hour
}现在使用<?php echo '<pre>'; print_r( _get_cron_array() ); echo '</pre>'; ?>,我可以看到wordpress确实看到了我创建了什么
[1485859289] => Array
(
[my_hourly_event] => Array
(
[40cd750bba9870f18aada2478b24840a] => Array
(
[schedule] => hourly
[args] => Array
(
)
[interval] => 3600
)
)
)但是我不知道为什么邮件没有发送,我需要做些什么来解决这个问题。
我希望这里有人能帮我解决这个问题?
谢谢你的阅读:)
发布于 2017-01-31 17:29:01
我认为,当您需要调用钩子时,可能会在wp_next_scheduled函数中直接调用您的函数。
所以调度器函数(对您来说是"my_activation")检查钩子(对您来说是"wp"),钩子检查函数(对于您来说是"my_hourly_function"),并且函数发送电子邮件。
您的电子邮件功能do_this_hourly()不在任何地方调用。所以调度程序正在调度一个cron,但是在触发它时没有函数可以运行。试试这个:
function my_activation_scheduler() {
if ( !wp_next_scheduled( 'my_activation_action' ) ) {
wp_schedule_event( current_time( 'timestamp' ), 'hourly', 'my_activation_action');
}
}
add_action('my_activation_action', 'my_hourly_function');
function my_hourly_function() {
// do something every hour
$to = 'jon@mydomain.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@mydomain.com' . "\r\n" .
'Reply-To: webmaster@mydomain.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
// do something every hour
}这是未经检验的,但我认为它应该有效。我没有检查你的邮编,但其他的一切都在我的脑海里:P
编辑-我没有看到您的附加操作,因为它在代码块之外,但我上面的代码仍然可以做到这一点。
https://stackoverflow.com/questions/41957607
复制相似问题