我试着每小时安排一次活动,但没用。为什么,我不明白。
这里有一个我用来安排活动的函数。
add_action( \'scheduled_update_feeds\', \'update_feeds\', 10, 2 );
function scheduled_activation() {
wp_schedule_event( time(), \'everyhour\', \'scheduled_update_feeds\', array( 0, \'everyhour\' ) );
}
register_activation_hook( __FILE__, \'scheduled_activation\' );
根据我的理解,这应该在插件激活时激活,并根据我的设置通过时间表事件。
当我使用它时without array args it works, 但我需要使用args将我的预定函数传递给它们。
这就是功能
function update_feeds($ids = false, $timing = false) {
do something
}
当我像这样使用它时,它就工作了。
wp_schedule_event( time(), \'everyhour\', \'scheduled_update_feeds\' );
即使我在update\\u feed函数中不使用args,它也不会工作。奇怪的是,当我使用单一时间表时,它是有效的。
像这样
wp_schedule_single_event( time() + 10, \'scheduled_update_feeds\', array($ids) );
所以我不明白为什么它不起作用。
我在预定的列表中定义了“everyhour”。
add_filter( \'cron_schedules\', \'my_schedule\' );
$schedules[\'everyhour\'] = array(
\'interval\' => 60,
\'display\' => __( \'Every hour\', \'easy-video-grabber\' )
);
我用Cron Schedules插件检查了它的存在性,并且该计划存在。
SO网友:Vee
以过于简单的方式。注册文件管理器,嵌入操作(&a);使用它。例如:
注册事件:
// Create new cron job filter
add_filter( \'cron_schedules\', \'cron_add_five_minute\' );
function cron_add_five_minute( $schedules ) {
// Adds once weekly to the existing schedules.
$schedules[\'five_minute\'] = array(
\'interval\' => 300,
\'display\' => __( \'Five Minute\' )
);
return $schedules;
}
执行功能:
add_action( \'wpfex_five_minute_event\', \'wpfex_do_this_five_minute\' );
/**
* On the scheduled action hook, run a function.
*/
function wpfex_do_this_five_minute() {
// Execute file every five minutes
// Do what ever you want to do
}
*请注意,wp cron作业与通常的linux cron作业不同。Wordpress在用户访问网站时内部运行线程。若一天内并没有点击网站,那个么就并没有执行cron作业,因为cron作业线程并没有运行。
有关cron作业如何在WP中工作的更多信息,请查看quick reference guide
谢谢
SO网友:Privateer
我以前有过这个问题。现在发生的事情(从外观上看)是,您正在设置要调度的动作挂钩,但没有利用它。
e、 g。
function update_feeds($ids = false, $timing = false) {
do something
}
wp_schedule_event( time(), \'everyhour\', \'scheduled_update_feeds\' );
除此之外,您还需要:
add_action(\'scheduled_update_feeds\', \'update_feeds\', 10, 2);
wp\\U schedule\\u event设置要运行的操作,因此除了要执行操作的函数外,还需要在指定的操作标记上添加要执行的操作。
您的wp\\u schedule\\u事件告诉wordpress定期对计划的\\u update\\u提要执行操作您正在运行的函数包含要执行的处理您需要对计划的\\u update\\u提要使用add\\u操作来执行您的功能我还建议在添加之前检查它是否存在:
$next_run = wp_next_scheduled(\'scheduled_update_feeds\');
if ( $next_run ) {
wp_unschedule_event( $next_run, \'scheduled_update_feeds\');
}
$first_run = time();
$result = wp_schedule_event( $first_run, \'everyhour\', \'scheduled_update_feeds\');
最后,我建议使用较少的泛型名称,尤其是对于处理函数。可能有很多人会创建update\\u feeds函数。
无论如何,希望这能有所帮助。