set_theme_mod()
Создает или обновляет специальные настройки (опции) текущей темы.
Под "специальные" подразумеваются опции вроде "background-color", которые потом можно получить с помощью get_theme_mod().
Функции типа *_theme_mod
- это аналог API настроек и нужны для единого стандарта и правильной работы с дочерними темами. Для гибкости в функциях присутствуют фильтры.
Все такие спец. опции темы физически размещаются в одной опции таблицы wp_options - theme_mods_(theme), в виде массива.
Следующий код разместит в опциях массив: array( 'aaa'=>123, 'bbb'=>456 ).
set_theme_mod( 'aaa', 123 ); set_theme_mod( 'bbb', 456 );
Все функции theme_mod — это обертки для get_option() и поэтому они немного медленнее, потому что прежде чем использовать get_option() функция получает называние темы создает из него название опции "theme_mods_$theme", затем применяет фильтр к указанной опции.
Впрочем все эти операции снижают скорость не значительно.
Чтобы удалить имеющуюся опцию темы, используйте remove_theme_mod().
Хуки из функции
Возвращает
true|false
. В зависимости от того было или нет обновлено значение опции. см. update_option(). Возвращаемое значение добавлено в WP 5.6.
Использование
set_theme_mod( $name, $value );
- $name(строка) (обязательный)
- Название специальной опции темы.
- $value(смешанный) (обязательный)
- Значение опции.
Примеры
#1 Установим опцию темы
Установим и получи специальную настройку темы темы:
set_theme_mod( 'aaa', 123 ); // затем где нужно получаем эту опцию так: get_theme_mod( 'aaa' ); // > 123
Список изменений
С версии 2.1.0 | Введена. |
С версии 5.6.0 | A return value was added. |