- 1. Что такое add_theme_support?
- 2. Поддержка миниатюр записей (Post Thumbnails)
- 3. Поддержка пользовательских логотипов
- 4. Поддержка динамического заголовка страницы (Title Tag)
- 5. Поддержка форматов записей (Post Formats)
- 6. Поддержка пользовательского фона (Custom Background)
- 7. Поддержка широкого выравнивания для блоков (Gutenberg)
- 8. Поддержка стилизованных блоков (Gutenberg)
- 9. Поддержка кастомных цветовых схем для редактора (Gutenberg)
- Заключение
Функция add_theme_support
— один из важнейших инструментов при создании тем для WordPress. Она позволяет разработчикам тем подключать разнообразные функции, которые расширяют функционал сайта и обеспечивают лучшую интеграцию с ядром WordPress. В данной статье мы рассмотрим основные функции, которые можно подключить с помощью add_theme_support
, а также приведем примеры её использования.
add_theme_support( $feature, $arguments );
$feature
: строка, определяющая возможность, которую вы хотите добавить:'admin-bar'
'align-wide'
'appearance-tools'
'automatic-feed-links'
'block-templates'
'block-template-parts'
'border'
'core-block-patterns'
'custom-background'
'custom-header'
'custom-line-height'
'custom-logo'
'customize-selective-refresh-widgets'
'custom-spacing'
'custom-units'
'dark-editor-style'
'disable-custom-colors'
'disable-custom-font-sizes'
'disable-custom-gradients'
'disable-layout-styles'
'editor-color-palette'
'editor-gradient-presets'
'editor-font-sizes'
'editor-spacing-sizes'
'editor-styles'
'featured-content'
'html5'
'link-color'
'menus'
'post-formats'
'post-thumbnails'
'responsive-embeds'
'starter-content'
'title-tag'
'widgets'
'widgets-block-editor'
'wp-block-styles'
$arguments
: (опционально) массив аргументов, если возможность требует дополнительных параметров.
1. Что такое add_theme_support
?
Функция add_theme_support
используется для включения различных функциональных возможностей в тему WordPress. С её помощью вы можете добавить поддержку таких функций, как миниатюры записей (Post Thumbnails), автоматические ссылки на RSS, пользовательские фоны, заголовки и многое другое.
Пример базового использования:
function mytheme_setup() {
add_theme_support( 'title-tag' ); // Включаем поддержку динамических заголовков
}
add_action( 'after_setup_theme', 'mytheme_setup' );
Этот пример включает поддержку динамических заголовков страниц для SEO-оптимизации.
2. Поддержка миниатюр записей (Post Thumbnails)
Миниатюры записей (или изображения постов) часто используются для блога или каталога, чтобы сделать визуальную презентацию записей привлекательной. Чтобы включить эту возможность, можно использовать следующую настройку:
function mytheme_setup() {
add_theme_support( 'post-thumbnails' );
}
add_action( 'after_setup_theme', 'mytheme_setup' );
Этот код добавляет поддержку миниатюр для всех типов записей.
Добавление кастомных размеров для миниатюр
После включения миниатюр можно добавить пользовательские размеры для миниатюр изображений:
function mytheme_setup() {
add_theme_support( 'post-thumbnails' );
add_image_size( 'custom-thumb', 220, 180, true ); // Кастомный размер с обрезкой
}
add_action( 'after_setup_theme', 'mytheme_setup' );
Теперь вы можете использовать кастомный размер изображения custom-thumb
в вашей теме.
3. Поддержка пользовательских логотипов
Если вы хотите, чтобы пользователи могли загружать свои логотипы через кастомайзер WordPress, добавьте следующую поддержку:
function mytheme_custom_logo_setup() {
add_theme_support( 'custom-logo', array(
'height' => 100,
'width' => 400,
'flex-height' => true,
'flex-width' => true,
));
}
add_action( 'after_setup_theme', 'mytheme_custom_logo_setup' );
Этот код добавляет возможность загрузки логотипа через интерфейс кастомайзера с гибкой настройкой его размеров.
4. Поддержка динамического заголовка страницы (Title Tag)
Поддержка динамического заголовка страницы — важная функция для SEO. Она позволяет WordPress автоматически управлять заголовками страниц. Для активации этой функции достаточно добавить следующий код:
function mytheme_setup() {
add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'mytheme_setup' );
Теперь WordPress будет автоматически управлять заголовками всех страниц сайта.
5. Поддержка форматов записей (Post Formats)
Форматы записей позволяют использовать разные стили для разных типов контента, таких как видео, цитаты, галереи и т. д.
function mytheme_setup() {
add_theme_support( 'post-formats', array(
'aside',
'gallery',
'link',
'image',
'quote',
'status',
'video',
'audio',
'chat'
));
}
add_action( 'after_setup_theme', 'mytheme_setup' );
Этот код активирует поддержку форматов записей, позволяя пользователям выбирать разные стили для своих постов.
6. Поддержка пользовательского фона (Custom Background)
Функция пользовательского фона позволяет пользователям изменять цвет или изображение фона сайта через интерфейс кастомайзера.
function mytheme_custom_background_setup() {
add_theme_support( 'custom-background', array(
'default-color' => 'ffffff',
'default-image' => '',
));
}
add_action( 'after_setup_theme', 'mytheme_custom_background_setup' );
Этот код добавляет настройку фона в кастомайзер с возможностью изменять цвет или устанавливать изображение.
7. Поддержка широкого выравнивания для блоков (Gutenberg)
Для полной интеграции с редактором блоков (Gutenberg) можно добавить поддержку широкого выравнивания блоков:
function mytheme_setup() {
add_theme_support( 'align-wide' );
}
add_action( 'after_setup_theme', 'mytheme_setup' );
Теперь пользователи смогут применять широкое или полноэкранное выравнивание блоков при редактировании страниц.
8. Поддержка стилизованных блоков (Gutenberg)
Для тем, совместимых с Gutenberg, можно включить поддержку стилевого оформления блоков:
function mytheme_setup() {
add_theme_support( 'wp-block-styles' );
}
add_action( 'after_setup_theme', 'mytheme_setup' );
Эта настройка активирует дополнительные стили для блоков, что позволяет темам выглядеть более последовательно в редакторе блоков и на фронтенде.
9. Поддержка кастомных цветовых схем для редактора (Gutenberg)
Вы также можете задать свою цветовую палитру, доступную для выбора пользователями при работе с блоками.
function mytheme_setup() {
add_theme_support( 'editor-color-palette', array(
array(
'name' => __( 'Strong Magenta', 'themeLangDomain' ),
'slug' => 'strong-magenta',
'color' => '#a156b4',
),
array(
'name' => __( 'Light Grayish Magenta', 'themeLangDomain' ),
'slug' => 'light-grayish-magenta',
'color' => '#d0a5db',
),
));
}
add_action( 'after_setup_theme', 'mytheme_setup' );
Этот код создаёт кастомную цветовую палитру, которую пользователи могут применять в блоках.
Заключение
Функция add_theme_support
— мощный инструмент для разработчиков тем в WordPress, позволяющий гибко настраивать функционал и интегрировать важные возможности. Благодаря этому функциям можно обеспечить лучшую совместимость темы с ядром WordPress, а также улучшить пользовательский опыт и функционал сайта.