Функция SET_THEME_MOD() в WordPress
Функция SET_THEME_MOD() позволяет обновлять настройки темы для текущей темы WordPress. Это полезно для изменения различных параметров, таких как цвета или картинки, используемые в вашей теме.
Как это работает
Вы можете использовать функцию set_theme_mod( $name, $value ), где:
$name(строка) — название параметра настройки темы, которую вы хотите изменить.$value(разные типы) — новое значение для настройки.
Пример использования
Представим, что вы хотите изменить цвет текста в заголовке вашей темы. Вы можете сделать это с помощью следующего кода:
add_action( 'switch_theme', 'wp_kama_theme_mods' );
function wp_kama_theme_mods() {
set_theme_mod( 'my_mod_one', 'new_mode_one_value' );
}
Здесь вы добавляете действие, которое срабатывает при переключении темы, и устанавливаете новую настройку.
Получение значения настройки
Чтобы получить значение установленной настройки, используйте функцию get_theme_mod(). Например:
$color = get_theme_mod( 'my_mod_one' ); // получаем значение
Что возвращает функция
Функция возвращает:
true, если значение было обновлено.false, если обновление не удалось.
Подсказка
Динамическое название хука pre_set_theme_mod_{$name} позволяет вам фильтровать значение до его сохранения. Это полезно, если вы хотите изменить или проверить значение перед тем, как оно будет сохранено.
Пример кода функции
Вот основной код функции set_theme_mod:
function set_theme_mod( $name, $value ) {
$mods = get_theme_mods();
$old_value = isset( $mods[ $name ] ) ? $mods[ $name ] : false;
/**
* Фильтрует значение настройки темы перед сохранением.
*
* Динамическая часть имени хука, $name, относится к имени
* ключа в массиве настроек.
*
* @param mixed $value Новое значение настройки темы.
* @param mixed $old_value Т текущее значение настройки темы.
*/
$mods[ $name ] = apply_filters( "pre_set_theme_mod_{$name}", $value, $old_value );
$theme = get_option( 'stylesheet' );
return update_option( "theme_mods_$theme", $mods );
}
Изменения в функции
- С версии 2.1.0 функция была введена.
- С версии 5.6.0 был добавлен возвращаемый результат.
Связанные функции
Функция set_theme_mod работает в связке с другими функциями для работы с настройками темы:
get_theme_mod()— получить значение настройки.get_theme_mods()— получить все настройки темы.remove_theme_mod()— удалить одну настройку темы.remove_theme_mods()— удалить все настройки темы.
Эти функции позволяют вам гибко управлять настройками вашей темы, что делает её настройку более простой и удобной.