Отключаем обновление/загрузку новых версий дефолтных тем и плагинов

Click here to view original web page at wp-kama.ru

По умолчанию из коробки в wordpress присутуствуют встроенные темы и плагины. При каждой проверке обновлений также проверяются наличия новых версий этих тем, и плагинов, а также загружаются новые темы, которые идут в дефолтной конфигурации WordPress (каждый год новая тема).

В ВП есть настройка, которая позволяет отключить проверку обновлений и загрузку новых, таких вот, встроенных пакетов.

Список пакетов которые входят в дефолтный бандл, можно посмотреть в глобальной константе:

/**
 * Stores new files in wp-content to copy
 *
 * The contents of this array indicate any new bundled plugins/themes which
 * should be installed with the WordPress Upgrade. These items will not be
 * re-installed in future upgrades, this behaviour is controlled by the
 * introduced version present here being older than the current installed version.
 *
 * The content of this array should follow the following format:
 * Filename (relative to wp-content) => Introduced version
 * Directories should be noted by suffixing it with a trailing slash (/)
 *
 * @since 3.2.0
 * @since 4.7.0 New themes were not automatically installed for 4.4-4.6 on
 *              upgrade. New themes are now installed again. To disable new
 *              themes from being installed on upgrade, explicitly define
 *              CORE_UPGRADE_SKIP_NEW_BUNDLED as true.
 * @global array $_new_bundled_files
 * @var array
 * @name $_new_bundled_files
 */
global $_new_bundled_files;

$_new_bundled_files = array(
	'plugins/akismet/'        => '2.0',
	'themes/twentyten/'       => '3.0',
	'themes/twentyeleven/'    => '3.2',
	'themes/twentytwelve/'    => '3.5',
	'themes/twentythirteen/'  => '3.6',
	'themes/twentyfourteen/'  => '3.8',
	'themes/twentyfifteen/'   => '4.1',
	'themes/twentysixteen/'   => '4.4',
	'themes/twentyseventeen/' => '4.7',
	'themes/twentynineteen/'  => '5.0',
	'themes/twentytwenty/'    => '5.3',
	'themes/twentytwentyone/' => '5.6',
);

Определяется эта константа в файле wp-admin/includes/update-core.php.

Что делает эта константа, описано в комментарии к ней, ниже перевод:

Содержит новые файлы в wp-content для копирования.

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

Содержимое этого массива должно иметь следующий формат: Имя файла (относительно wp-content) => Внедренная версия. Каталоги должны быть отмечены суффиксом с косой чертой (/).

Новые темы не устанавливались автоматически для 4.4-4.6 при обновлении. Теперь новые темы устанавливаются снова. Чтобы запретить установку новых тем при обновлении, явно определите CORE_UPGRADE_SKIP_NEW_BUNDLED как true.

Отключение загрузки новых тем

Т.е. чтобы отключить загрузку новых тем для новых версий ВП нужно определить константу в файле wp-config.php или в mu плагине:

const CORE_UPGRADE_SKIP_NEW_BUNDLED = true;

Или так:

define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );