Возвращает время следующего выполнения указанной запланированной задачи в UNIX формате, либо false
— если задача не запланирована.
wp_next_scheduled( $hook, $args = array() )
Понятное дело, что трудно разобраться просто на словах, поэтому и перейдём к примерам. Итак, функция wp_next_scheduled()
чаще всего используется в следующих случаях:
$vremya = wp_next_scheduled('wp_version_check'); // например: 1424106216
Также очень просто определить дату и время публикации запланированного поста, например с ID 5. Записывать в перемнную не будем, а сразу выведем её, ещё и приведём к более наглядному виду при помощи PHP-функции date()
.
echo date('Y-m-d H:i', wp_next_scheduled('publish_future_post', array( 5 ) ) ); // например: 2016-03-03 08:19
О том, где брать названия подобных хуков уже написано в одной из предыдущих статей.
if( !wp_next_scheduled('true_hook_5') ) wp_schedule_event( time(), 'daily', 'true_hook_5');
Если неграмотно использовать функцию wp_schedule_event(), то очень легко допустить то, что на вашем сайте появятся копии каких-либо задач и допустим хук true_hook_5
(из примера) будет выполняться не раз в день, а 4 раза в день. Поэтому подобная проверка очень желательна.
Однако хочу обратить особое внимание на функцию wp_schedule_single_event(), потому что она уже содержит такую проверку внутри себя и поэтому через неё вы никак не запланируете одну и ту же задачу дважды, если только предыдущая не выполнится в течение ближайших 10 минут.
// Получаем время следующего выполнения задачи $vremya = wp_next_scheduled( 'kakoi_to_huk' ); // Если задача была создана с дополнительными параметрами, их тоже нужно указать $original_args = array(); // Если задача есть в расписании, удаляем её оттуда if( $vremya ) wp_unschedule_event( $vremya, 'kakoi_to_huk', $original_args );
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.