Функция set_theme_mod()
используется для создания или обновления значений пользовательских настроек активной темы. Эти настройки могут включать в себя различные параметры, такие как цвета, изображения фона, логотипы и другие кастомные данные, которые могут быть сохранены и использованы темой.
set_theme_mod( string $name, mixed $value ): bool
Описание
set_theme_mod()
обновляет или создает значение для определённой модификации темы. Эти значения сохраняются в базе данных в разделе wp_options
под ключом, который включает в себя название активной темы. Это позволяет сохранять и восстанавливать настройки между активациями темы.
Функция особенно полезна для хранения пользовательских настроек, добавленных через кастомайзер, или для хранения других специфических параметров, которые нужно сохранять между сессиями.
Параметры
$name
(строка, обязательный):
Название модификации темы. Это ключ, по которому можно будет получить и изменить настройку.$value
(смешанный, обязательный):
Значение модификации. Может быть любым типом данных, включая строки, числа, массивы и объекты.
Возвращаемые значения
true
— если значение было успешно обновлено.false
— если обновление не удалось.
Пример 1: Установка пользовательской настройки темы
Этот код устанавливает значение пользовательской настройки под названием 'background_color'
:
set_theme_mod( 'background_color', '#ffffff' );
Теперь значение настройки можно получить с помощью функции get_theme_mod()
:
$background_color = get_theme_mod( 'background_color' );
echo $background_color; // Результат: #ffffff
Пример 2: Использование в хуке init
Можно использовать set_theme_mod()
внутри хука, например, при инициализации темы, чтобы установить какие-либо настройки:
function genius_theme_mods() {
set_theme_mod( 'header_image', 'http://example.com/wp-content/uploads/header.jpg' );
}
add_action( 'init', 'genius_theme_mods' );
В этом примере при инициализации сайта устанавливается URL изображения для заголовка темы.
Пример 3: Установка и удаление нескольких настроек
Установим несколько настроек темы:
set_theme_mod( 'primary_color', '#ff0000' );
set_theme_mod( 'secondary_color', '#00ff00' );
Значения можно будет получить таким образом:
$primary = get_theme_mod( 'primary_color' ); // Результат: #ff0000
$secondary = get_theme_mod( 'secondary_color' ); // Результат: #00ff00
Чтобы удалить определённую настройку, используйте remove_theme_mod()
:
remove_theme_mod( 'primary_color' );
Заключение
Функция set_theme_mod()
— это удобный инструмент для сохранения пользовательских настроек темы. Она позволяет разработчикам сохранять данные, которые могут быть использованы для кастомизации внешнего вида или функциональности сайта. Эти данные можно легко получить через get_theme_mod()
и при необходимости удалить с помощью remove_theme_mod()
.