Насколько я понимаю, как WordPress обновляет ядро и плагины, так это то, что каждые 12 часов он выходит и ищет обновления. Когда это время будет установлено? 12 часов с начальной установки? Я спрашиваю об этом, потому что с помощью фильтра автообновления add_filter( 'auto_update_plugin' );
плагинов теоретически можно разрешить плагин обновляться только между определенными периодами, но если это определенное время не попадает в это 12-часовое окно, тогда плагины никогда не будут обновляться.
Таким образом, оставив вопрос в моем заголовке, который гласит: Как можно изменить частоту, с которой WordPress ищет обновления, или указать конкретное время автоматического обновления?
Для тех, кто заинтересован, вот фильтр, с которым я связывался, проверяет, если это понедельник - пятница с 8:00 до 17:00:
function maybe_update_plugins(){
date_default_timezone_set('Your Timezone Here');
$localAssoc = localtime(time(), true);
$update = false;
/***
/* tm_wday[0] = Sunday
/* tm_wday[6] = Saturday
***/
if(
$localAssoc['tm_wday'] > 0 && $localAssoc['tm_wday'] < 6 &&
$localAssoc['tm_hour'] > 7 && $localAssoc['tm_hour'] < 17
){
$update = true;
}
return $update;
}
add_filter( 'auto_update_plugin', 'maybe_update_plugins' );
Редактировать Как аккуратный sidenote, похоже, что этот фильтр запускается каждый раз, когда обновляется плагин, несколько обновлений плагина, несколько запусков фильтра.
источник
Соответствующие функции
wp_update_plugins()
иwp_maybe_auto_update()
привязаны к событиям wp-cron с одинаковыми именами, работающими дважды в день по расписанию.По логике начальное расписание начнет отсчитываться со времени первого запуска. Из-за реализации wp-cron (не являющейся настоящим cron и инициируемой посещениями сайта, а не часами сервера), он также будет «дрейфовать» всякий раз, когда фактический wp-cron срабатывает после времени, в которое он должен был работать.
Проверки обновления плагинов также чаще запускаются в определенных областях администрирования, таких как список плагинов (так что вы с меньшей вероятностью будете искать устаревшую информацию).
Сверху головы я не вижу элегантного способа поместить его в определенный временной коридор. Менять графики довольно просто, учесть дрифт не совсем.
Если это каким-либо образом является критически важным требованием, то лучше всего справиться с реальным сервером cron и внешним инструментом для актуального обновления, такого как функция обновления wp-cli или управление плагинами через Composer.
источник
wp-cron
запускается только при определенных просмотрах страниц администратора или при обычном просмотре страниц? Благодарность!init
выстрел крюка)