你不应该打电话wp_clear_scheduled_hook
在每次页面加载时,因为您总是使用当前设置重新启动wp cron shcedule。
此外,此电话:
wp_clear_scheduled_hook( \'le_do_this\' );
没什么区别,因为
le_do_this
在您的设置中不是挂钩名称。
例如,您可以尝试以下测试插件:
<?php
/**
* Plugin Name: Daily WP-Cron
* Description: Call the my_daily_cron_script() function daily, if it exists.
*/
add_action( \'mydailyevent\', function()
{
// Our script:
if( function_exists( \'my_daily_cron_script\' ) )
my_daily_cron_script();
});
register_activation_hook( __FILE__, function()
{
// Start the cron job:
wp_schedule_event( time(), \'daily\', \'mydailyevent\' );
});
register_deactivation_hook( __FILE__, function()
{
// Stop the cron job:
wp_clear_scheduled_hook( \'mydailyevent\' );
});
您必须定义
my_daily_cron_script()
满足您的需求。
抄本上有个警告wp_schedule_event
:
要执行的操作挂钩的名称。出于某种原因,某些系统上似乎存在一个问题,即挂钩不能包含下划线或大写字符。
所以让我们使用mydailyevent
作为我们的钩名,而不是my_daily_event
, 以防万一。