我正在制作一个程序,使用wp_schedule_event
在一小时内检查并发送电子邮件,但它不会在我的结束工作..是否有人对我的案例有所了解?这是我的代码,我把它放在我的自定义插件myplugin-function.php
register_activation_hook(__FILE__, 'my_activation');
add_action('my_hourly_event', 'do_this_hourly');
function my_activation() {
wp_schedule_event(time(), 'hourly', 'my_hourly_event');
}
function do_this_hourly() {
$headers = "From: webmaster <webmaster@test.com>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail('mymail@test.com','Test','Hello',$headers);
}
register_deactivation_hook(__FILE__, 'my_deactivation');
function my_deactivation() {
wp_clear_scheduled_hook('my_hourly_event');
}
答案 0 :(得分:0)
由于您的代码似乎是从WP文档中删除的,我认为这更像是配置问题,而不是代码问题。
也许这些步骤可以帮助您:
检查WP_DEBUG
文件中的wp-config.php
是否设为true
检查DISABLE_WP_CRON
文件中是否存在true
,或至少未将其设为wp-config.php
尝试检查您的活动是否已安排$schedule = wp_get_schedule( 'my_hourly_event' );
,并转储schedule
如果您可以访问服务器日志,请查看wp_cron.php
文件是否有错误
看看ALTERNATE_WP_CRON选项文档,它可能对您有帮助,但我不太喜欢这个解决方案
我知道我没有给你任何答案,但我们没有很多信息(因为你没有)。
希望它会帮助你。