Как настроить автоматические обновления в WordPress 3.7?
В WordPress 3.7 появились автоматические обновления. Как это работает и как можно настроить эту функцию?

Автоматические обновления происходят автоматически.
Стандартное поведение в WordPress 3.7 — автоматическое обновление ядра для минорных версий (например, с X.Y.Z
на X.Y.Z+1
).
В интерфейсе нет настроек для изменения этого поведения. Чтобы изменить его, вам нужно отредактировать файл wp-config.php
или добавить фильтры:
Простое отключение
Добавьте следующее в wp-config.php
:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Или добавьте фильтр:
add_filter( 'automatic_updater_disabled', '__return_true' );
Управление обновлениями ядра
Через wp-config.php
:
// Обновлять ядро — dev, major и minor версии
define( 'WP_AUTO_UPDATE_CORE', true );
// Обновлять ядро — только minor версии
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
// Отключить обновления ядра
define( 'WP_AUTO_UPDATE_CORE', false );
Через фильтры:
// Включить ночные сборки (dev-обновления):
add_filter( 'allow_dev_auto_core_updates', '__return_true' );
// Включить обновления major версий:
add_filter( 'allow_major_auto_core_updates', '__return_true' );
// Отключить обновления minor версий
add_filter( 'allow_minor_auto_core_updates', '__return_false' );
Темы и плагины
Полное или частичное автообновление тем и плагинов:
Обновления тем и плагинов отключены по умолчанию. Чтобы включить через фильтр:
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );
Эти фильтры передаются объекту обновления, поэтому можно манипулировать им, чтобы указать, какие темы или плагины обновлять автоматически (включить в белый список) или исключить из автообновлений.
Файлы переводов
Обновления файлов переводов включены по умолчанию. Чтобы отключить через фильтр:
// Отключить обновления переводов
add_filter( 'auto_update_translation', '__return_false' );
Письма с результатами обновлений
Система обновлений отправляет письмо с результатом после успешного обновления, ошибки или критической ошибки. Чтобы отключить через фильтр:
// Отключить письма об обновлениях
add_filter( 'auto_core_update_send_email', '__return_false' );
Этот фильтр также можно использовать для настройки писем в зависимости от типа письма $type
(успех, ошибка, критическая ошибка), объекта типа обновления $core_update
или результата $result
:
/* @param bool $send Отправлять ли письмо. По умолчанию true.
* @param string $type Тип письма.
* Может быть 'success', 'fail' или 'critical'.
* @param object $core_update Предложение обновления, которое было предпринято.
* @param mixed $result Результат обновления ядра. Может быть WP_Error.
*/
apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result );
Дополнительная информация

Есть ли способ проверить, работают ли автоматические обновления, кроме как ждать? Также можно ли исключить определенные плагины из фильтра обновлений плагинов?

Включить ночные сборки и подождать до завтра? :) И нет, в настоящее время нет возможности включать/исключать определенные плагины или темы; это все или ничего.

Я думаю, это можно сделать для отдельных обновлений тем/плагинов, согласно комментариям Nacin: "Предыдущие варианты конфигурации — все или ничего. Однако вам может потребоваться более детальная настройка. Фильтр auto_update_$type (auto_update_core, auto_update_plugin, auto_update_theme, auto_update_translation)
срабатывает для конкретных обновлений, когда они готовы к обновлению. Этот фильтр получает объект обновления, который описывает, что WordPress собирается обновить. Это означает, что вы можете выборочно включать обновления отдельных плагинов или тем, например, или добавить в белый список предстоящие обновления ядра."

@pollyplummer конечно, добавь эту информацию в ответ! Это полезная информация. :)

В разделе "Простое обновление", не должно ли быть "Или добавь следующий фильтр"?

@brasofilo "В разделе "Простое обновление", не должно ли быть "Или добавь следующий фильтр"?" - согласно Codex, нет. Рекомендуется использовать оба варианта.

Обновил раздел о полном отключении, чтобы отразить изменения в Codex. Обновил разделы о темах/плагинах для указания целевой фильтрации. Добавил раздел об отключении/изменении email-уведомлений о результатах обновлений.

@Howdy_McGee Я только что опубликовал руководство по исключению определенных плагинов. Кроме того, на странице обновлений в WordPress указано, включены ли автоматические обновления. Если там не упоминается об автоматических обновлениях, используйте этот плагин, чтобы узнать, почему они отключены.

Вы можете проверить, поддерживает ли ваш сайт и сервер автоматические обновления, с помощью плагина Background Update Tester. Как говорит Nacin: "Этот плагин проверяет совместимость вашего сайта и объясняет любые проблемы."
