Функция remove_theme_support()
используется для отключения ранее активированных возможностей темы. Она чаще всего применяется в дочерних темах для отмены функций, которые были активированы в родительской теме, но не нужны в дочерней.
remove_theme_support( string $feature ): bool|void
Описание
Функция позволяет теме отменить поддержку определенных возможностей, которые были добавлены с помощью add_theme_support()
. Она вызывается в файле functions.php
и используется для изменения функциональности темы, например, отключения поддержки миниатюр (thumbnail) или заголовков.
Параметры
$feature
(строка, обязательный):
Название функции, которую нужно отключить. Список возможных функций можно найти в описании функцииadd_theme_support()
.
Возвращаемые значения
true
— если функция была успешно удалена.false
— если не удалось удалить поддержку функции.void
— если функция уже была удалена или не активирована.
Пример 1: Отключение поддержки миниатюр
Чтобы удалить поддержку миниатюр (thumbnails) во всех записях, можно использовать следующий код:
remove_theme_support( 'post-thumbnails' );
Этот код отменит поддержку миниатюр для всех типов записей.
Пример 2: Отключение поддержки заголовков
Если вам нужно отменить поддержку пользовательских заголовков (custom headers), вы можете использовать этот код:
remove_theme_support( 'custom-header' );
Пример 3: Отключение функции в дочерней теме
В некоторых случаях родительская тема может активировать функции, которые вам не нужны в дочерней теме. Например, если родительская тема поддерживает миниатюры для всех типов записей, но в дочерней теме они нужны только для записей (post
), можно использовать следующий код:
// В файле functions.php дочерней темы
add_action( 'after_setup_theme', 'remove_featured_images_from_child_theme', 11 );
function remove_featured_images_from_child_theme() {
// Удаляем поддержку миниатюр для всех типов записей
remove_theme_support( 'post-thumbnails' );
// Восстанавливаем поддержку миниатюр только для записей
add_theme_support( 'post-thumbnails', array( 'post' ) );
}
Здесь используется хук after_setup_theme
с приоритетом 11, чтобы этот код выполнился после инициализации родительской темы, которая запускается с приоритетом 10.
Возможности, которые можно отключить
Список возможностей, которые можно отключить с помощью remove_theme_support()
, включает:
post-thumbnails
— поддержка миниатюр (featured images)custom-header
— пользовательский заголовокcustom-background
— пользовательский фонautomatic-feed-links
— автоматические ссылки на RSSpost-formats
— форматы записейmenus
— поддержка менюwidgets
— поддержка виджетов
Полный список возможностей можно найти в документации к функции add_theme_support()
.
Заключение
Функция remove_theme_support()
— это мощный инструмент для модификации функциональности темы, позволяющий гибко управлять поддерживаемыми возможностями. Она особенно полезна в дочерних темах, когда необходимо изменить или отключить функционал, активированный в родительской теме.