Функция SET_THEME_MOD() в WordPress: как использовать и какие возможности предоставляет

Функция 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() — удалить все настройки темы.

Эти функции позволяют вам гибко управлять настройками вашей темы, что делает её настройку более простой и удобной.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *