Как автоматически очистить кэш в W3 Total Cache?

Я использую плагин W3 Total cache для WordPress. В моем сообщении есть одна таблица, которая обновляется каждую минуту/час. Но поскольку я делаю кеширование, сервер не обслуживает последнюю версию, вместо этого он показывает посетителю кешированную копию. Как я могу автоматически очищать кеш каждые 30 минут, чтобы он показывал последнюю версию сообщения через каждые 30 минут? Я уже пытался вставить этот код в файл functions.php, но он не очищает кеш каждые 1 час, а через 2-3 часа.

function w3_flush_cache( ) {
    $w3_plugin_totalcache->flush_all();
}

// Schedule Cron Job Event

function w3tc_cache_flush() {
    if ( ! wp_next_scheduled( 'w3_flush_cache' ) ) {
        wp_schedule_event( current_time( 'timestamp' ), 'hourly', 'w3_flush_cache' );    
    }
}

person Vijay Prajapati    schedule 20.03.2018    source источник


Ответы (1)


Пока никто не ответил:

«Интервал» — это число в секундах, когда должно запускаться задание cron. Таким образом, для «почасового» время составляет HOUR_IN_SECONDS (60 60 или 3600). Для «ежемесячно» значение будет MONTH_IN_SECONDS (30 24 60 60 или 2592000).

См. ссылку wp_get_schedules.

Таким образом, на каждые 30 минут вы должны использовать что-то вроде 30 * 60 = 1800.

wp_schedule_event( current_time( 'timestamp' ), 1800, 'w3_flush_cache' );    
person BHoft    schedule 27.07.2020