В WordPress есть встроенный планировщик задач. Основная его задача — проверка на обновления ядра и плагинов. Возможности планировщика открыты и для разработчиков.

PHP не работает в режиме реального времени, а исполняется по запросу, поэтому реализация такого метода имеет смысл если у сайта хорошая посещаемость, или выполнение задачи не строго обязательно. Это нужно учитывать.

Большое преимущество этого решения — переносимость.

Логика очень проста:

  • Мы создаем событие. Задаем название и периодичность;
  • Создаем функцию, которая будет запускаться по этому событию;
  • К событию через add_action мы привязываем нашу функцию;
<?php

//  Если задача не определена, ставим ее на выполнение
//  Без этой проверки события будут создаваться при каждом запросе
if( !wp_next_scheduled('scheduled__for_something' ) )
    wp_schedule_event( time(), 'hourly', 'scheduled__for_something' );

//  Привязываем к определенной выше задачи функцию
add_action( 'scheduled__for_something', 'function__for_something', 10, 3 );

function function__for_something( ) {

    /*
     *
     *   Задача для выполнения раз в час
     *
     */

}

Подробности, временные параметры доступны в кодексе, не вижу смысла копировать эту информацию сюда.

Код для functions.php


Комментариев нет

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

*

*