get_theme_mod()

Извлекает значение модификации темы для активной темы
Функция WordPress
INT 2.1.0
WordPress Icon

Описание функции

Функция get_theme_mod() используется для получения значения модификации темы для активной темы.

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

Функция get_theme_mod() позволяет получить значение конкретной модификации темы по ее имени.

Использование

get_theme_mod( string $name, mixed $default_value = false ) : mixed

Функция get_theme_mod() принимает два параметра: $name (обязательный) и $default_value (необязательный).

Параметр $name — это имя модификации темы, значение которой нужно получить.

Параметр $default_value — это значение по умолчанию, которое будет возвращено, если модификация темы с заданным именем не найдена. По умолчанию это значение равно false.

  • $name (string) — Обязательный. Имя модификации темы, значение которой нужно получить.
  • $default_value (mixed) — Необязательный. Значение по умолчанию, которое будет возвращено, если модификация темы с заданным именем не найдена. По умолчанию это значение равно false.

Функция get_theme_mod() возвращает значение модификации темы.

Значение может быть любого типа данных (строка, число, массив и т.д.), в зависимости от типа модификации темы.

<?php
/**
 * Пример использования функции get_theme_mod()
 */
// Получение значения модификации темы с именем 'header_text_color'
$header_text_color = get_theme_mod( 'header_text_color', '#000000' );
// Вывод значения модификации темы
echo 'Цвет текста заголовка: ' . $header_text_color;
?>

В этом примере мы используем функцию get_theme_mod() для получения значения модификации темы с именем ‘header_text_color’. Если модификация темы не найдена, будет использовано значение по умолчанию ‘#000000’.

Затем мы выводим полученное значение на экран с помощью функции echo.

Примеры использования

Получение значения модификации темы


/**
 * Получение значения модификации темы.
 *
 * @param string $name           Название модификации темы.
 * @param mixed  $default_value  Значение по умолчанию (необязательно).
 * @return mixed                 Значение модификации темы.
 */
$value = get_theme_mod( 'my_theme_mod', 'default_value' );

Функция get_theme_mod() позволяет получить значение модификации темы по ее названию. Если значение модификации не найдено, будет возвращено значение по умолчанию, указанное вторым параметром функции.

Изменение значения модификации темы


/**
 * Изменение значения модификации темы.
 *
 * @param string $name  Название модификации темы.
 * @param mixed  $value Новое значение модификации темы.
 */
set_theme_mod( 'my_theme_mod', 'new_value' );

Функция set_theme_mod() позволяет изменить значение модификации темы по ее названию. Новое значение указывается вторым параметром функции.

Проверка наличия значения модификации темы


/**
 * Проверка наличия значения модификации темы.
 *
 * @param string $name  Название модификации темы.
 * @return bool         Возвращает true, если значение модификации существует, иначе - false.
 */
if ( get_theme_mod( 'my_theme_mod' ) ) {
    // Значение модификации существует.
} else {
    // Значение модификации не существует.
}

Функция get_theme_mod() может использоваться для проверки наличия значения модификации темы. Если значение существует, функция вернет true, иначе — false.

Установка значения модификации темы по умолчанию


/**
 * Установка значения модификации темы по умолчанию.
 *
 * @param string $name           Название модификации темы.
 * @param mixed  $default_value  Значение по умолчанию.
 */
set_theme_mod( 'my_theme_mod', 'default_value' );

Функция set_theme_mod() может использоваться для установки значения модификации темы по умолчанию. Если значение модификации уже существует, оно будет заменено на новое значение.

Получение списка всех доступных модификаций темы


/**
 * Получение списка всех доступных модификаций темы.
 *
 * @return array  Массив всех доступных модификаций темы.
 */
$modifications = get_theme_mods();

Функция get_theme_mods() позволяет получить список всех доступных модификаций темы. Результатом функции является массив, где ключами являются названия модификаций, а значениями — их текущие значения.

Вопросы и ответы

Как получить значение модификации темы по умолчанию?

Для получения значения модификации темы по умолчанию в WordPress используется функция get_theme_mod(). Она принимает два параметра: $name и $default_value. Первый параметр — это имя модификации темы, которое вы хотите получить, а второй параметр — это значение по умолчанию, которое будет возвращено, если модификация не найдена.

Пример кода:


$logo_url = get_theme_mod( 'logo', 'https://example.com/logo.png' );

В этом примере мы получаем значение модификации темы с именем «logo». Если модификация не найдена, будет возвращено значение «https://example.com/logo.png».

Как изменить значение модификации темы?

Чтобы изменить значение модификации темы в WordPress, используйте функцию set_theme_mod(). Она принимает два параметра: $name и $value. Первый параметр — это имя модификации темы, которое вы хотите изменить, а второй параметр — это новое значение модификации.

Пример кода:


set_theme_mod( 'logo', 'https://example.com/new-logo.png' );

В этом примере мы изменяем значение модификации темы с именем «logo» на «https://example.com/new-logo.png».

Как удалить значение модификации темы?

Если вы хотите удалить значение модификации темы в WordPress, используйте функцию remove_theme_mod(). Она принимает один параметр — имя модификации темы, которую вы хотите удалить.

Пример кода:


remove_theme_mod( 'logo' );

В этом примере мы удаляем значение модификации темы с именем «logo».

Как получить все доступные модификации темы?

Для получения всех доступных модификаций темы в WordPress используется функция get_theme_mods(). Она не принимает никаких параметров и возвращает ассоциативный массив, где ключами являются имена модификаций темы, а значениями — их значения.

Пример кода:


$theme_mods = get_theme_mods();
foreach ( $theme_mods as $name => $value ) {
    echo $name . ': ' . $value . '<br>';
}

В этом примере мы получаем все доступные модификации темы и выводим их их имена и значения.

Как использовать значение модификации темы в шаблоне?

Функция get_theme_mod() позволяет получить значение модификации темы для активной темы в WordPress. Это очень полезно, когда вам нужно использовать определенные настройки темы внутри шаблона.

Для использования значения модификации темы в шаблоне, вам необходимо передать имя модификации в качестве первого аргумента функции get_theme_mod(). Вы также можете указать значение по умолчанию вторым аргументом, которое будет возвращено, если модификация не определена.


$logo_url = get_theme_mod( 'logo_image', 'default_logo.png' );

В приведенном выше примере мы получаем значение модификации темы с именем «logo_image». Если модификация не определена, то будет использовано значение «default_logo.png».

Как использовать значение модификации темы в CSS?

Вы также можете использовать значение модификации темы в CSS. Для этого вам нужно добавить соответствующий CSS-код в ваш файл стилей.


.logo {
    background-image: url(<?php echo esc_url( get_theme_mod( 'logo_image', 'default_logo.png' ) ); ?>);
}

В приведенном выше примере мы используем значение модификации темы с именем «logo_image» в качестве URL-адреса фонового изображения для элемента с классом «logo». Если модификация не определена, то будет использовано значение «default_logo.png».

Как использовать значение модификации темы в JavaScript?

Если вам нужно использовать значение модификации темы в JavaScript, вы можете передать его в JavaScript-переменную с помощью функции wp_localize_script().


wp_enqueue_script( 'custom-script', get_template_directory_uri() . '/js/custom-script.js', array( 'jquery' ), '1.0', true );
$logo_url = get_theme_mod( 'logo_image', 'default_logo.png' );
wp_localize_script( 'custom-script', 'themeMod', array(
    'logoUrl' => esc_url( $logo_url ),
) );

В приведенном выше примере мы получаем значение модификации темы с именем «logo_image» и передаем его в JavaScript-переменную «themeMod.logoUrl». Затем мы можем использовать это значение внутри файла JavaScript «custom-script.js». Если модификация не определена, то будет использовано значение «default_logo.png».

Как получить значение модификации темы для неактивной темы?

Функция get_theme_mod() по умолчанию возвращает значение модификации только для активной темы. Вы также можете получить значение модификации для неактивной темы, указав ее имя в качестве третьего аргумента функции.


$logo_url = get_theme_mod( 'logo_image', 'default_logo.png', 'other_theme' );

В приведенном выше примере мы получаем значение модификации темы с именем «logo_image» для темы с именем «other_theme». Если модификация не определена, то будет использовано значение «default_logo.png».

Функция get_theme_mod() является мощным инструментом для работы с модификациями темы в WordPress. Она позволяет получить значения модификаций темы для использования в шаблонах, CSS и JavaScript. Вы также можете получить значения модификаций для неактивных тем. Эта функция значительно упрощает разработку тем и позволяет легко настраивать и изменять внешний вид и поведение вашего сайта.

Связанные элементы

  • Функция set_theme_mod(): устанавливает значение модификации темы для активной темы.
  • Функция remove_theme_mod(): удаляет значение модификации темы для активной темы.
  • Функция get_theme_mods(): возвращает все значения модификации темы для активной темы.
Обсуждение