Использование Cron в WordPress

В WordPress есть свой собственный Cron, для тех кто не знает, что это Cron – планировщик, при помощи него можно настроить, например автоматическую публикацию постов или еженедельный бэкап базы данных WordPress.

 

Первый пример использования Cron, мы будем отправлять письма каждый час, при помощи функции wp_mail(), это просто пример, не используйте в реальной жизни 🙂

По умолчанию, cron имеет три варианта повторений для заданий:

</p>  <pre>// автоматическая отправка писем</pre>

<pre>if ( !wp_next_scheduled('my_task_hook') ) {
	wp_schedule_event( time(), 'hourly', 'my_task_hook' ); // каждый час, ежедневно (daily) или два раза в день (twicedaily)
}   function my_task_function() {
	wp_mail('example@yoursite.com', 'Automatic mail', 'Hello, this is an automatically scheduled email from WordPress.');
}
add_action('my_task_hook', 'my_task_function');</pre>

<p>

Но не всегда трёх вариантов хватает, в этом случае можно указывать частоту повторений вручную в секундах:

</p>

<pre>// add custom time to cron
function filter_cron_schedules( $param ) {
	return array( 'once_half_hour' => array( 
								'interval' => 1800, // секунды
								'display'  => __( 'Раз в полтора часа' ) 
							) );
}
add_filter( 'cron_schedules', array( &$this, 'filter_cron_schedules' ) );</pre>

<p>

По мотивам: wpengineer.com

4 комментария к статье Использование Cron в WordPress

Avatar

NewAge

2nd Январь 2010 в 20:15

это, наверное, для тех, кто всё ещё ютится на бесплатном хостинге, во всяком случае не очень удобно использовать такой Cron :))

Avatar

Wordpresser

2nd Январь 2010 в 20:18

На самом деле такой крон довольно хорошая вещь, например для создания плагинов или если делаете сайт для заказчика, да и просто, что бы не зависеть от хостинга.

Avatar

goblin

10th Январь 2010 в 12:41

Вещь, сам им пользуюсь.

Avatar

Vladimir

19th Январь 2010 в 18:28

Вообще wp_schedule_event рекомендуется вызывать из процедуры активации плагина, а при деактивации вызывать wp_unshedule_event.

Есть еще функция wp_schedule_single_event для одноразовых событий (например, хорошо для рассылки писем в фоне).

Оставить комментарий к "Использование Cron в WordPress"

Наверх