WordPress
WP-Cron
Szukaj…
Przykład wp_schedule_event ()
// register activation hook
register_activation_hook( __FILE__, 'example_activation' );
// function for activation hook
function example_activation() {
// check if scheduled hook exists
if ( !wp_next_scheduled( 'my_event' )) {
// Schedules a hook
// time() - the first time of an event to run ( UNIX timestamp format )
// 'hourly' - recurrence ('hourly', 'twicedaily', 'daily' )
// 'my_event' - the name of an action hook to execute.
wp_schedule_event( time(), 'hourly', 'my_event' );
}
}
add_action( 'my_event', 'do_this_hourly' );
// the code of your hourly event
function do_this_hourly() {
// put your code here
}
// register deactivation hook
register_deactivation_hook(__FILE__, 'example_deactivation');
// function for deactivation hook
function example_deactivation() {
// clear scheduled hook
wp_clear_scheduled_hook( 'my_event' );
}
Ważne: cron WordPress działa tylko wtedy, gdy zostanie trafiona jakaś strona Twojej witryny. Tak więc, dla witryny o niskim natężeniu ruchu, musisz ustawić crona na swoim hoście, aby trafiał na strony.
niestandardowy interwał powtarzania w wp_schedule_event ()
// this function add custom interval (5 minutes) to the $schedules
function five_minutes_interval( $schedules ) {
$schedules['five_minutes'] = array(
'interval' => 60 * 5,
'display' => '5 minutes';
);
return $schedules;
}
// add a custom interval filter
add_filter( 'cron_schedules', 'five_minutes_interval' );
// Schedules a hook
wp_schedule_event( time(), 'five_minutes', 'my_event' );
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow