get_theme_mod() WP 2.1.0

Отримує значення вказаної опції (налаштування) поточної теми.

Якщо вказаної опції теми немає, то другий параметр $default перед поверненням буде пропущений через функцію php sprintf() так:

$default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() );

Можна використовувати спільно з set_theme_mod() , щоб отримати інші опції теми. Вийде альтернатива API налаштувань лише для теми.

Працює на основі:
get_theme_mods()
1 раз – 0.000035 сек
(дуже швидко) | 50000 разів – 0.58 сек
(дуже швидко) |
PHP 7.0.5, WP 4.5

Хуки з функції

Повертає

Разное. Значення цієї опції теми.

Використання

get_theme_mod($name, $default);
$name
(рядок) (обов’язковий)

Назва налаштування теми, яку потрібно отримати. Наприклад: ‘ background_color ‘.

Можливі значення (додаткові значення зазвичай додаються через кастомайзер):

background_color
background_image_thumb
background_position_x
background_position_y
background_size - auto, contain, cover
background_repeat - repeat-x, repeat-y, repeat, no-repeat
background_attachment
header_image
header_image_data
header_video - ID
header_text
custom_logo - ID
external_header_video - URL
nav_menu_locations — Array
header_textcolor
custom_css_post_id - ID
sidebars_widgets
$default
(логічний/рядок)

Рядок, який потрібно повернути, якщо не вдалося знайти налаштування теми.

У рядку можна вказати плейсхолдери. Наприклад

Опції немає для %s %s

поверне

Опції немає для http://example.com/wp-content/themes/theme_name http://example.com/wp-content/themes/theme_name-child

Типово: false

Приклади

0

#1 Колір фону з налаштувань теми

Цей приклад показує, як додати верхню межу для блоку footer з таким же кольором, як і встановлений в налаштуваннях колір фону.

Код можна вставити на початок header.php

<style>
.footer {
	 border-top: solid 1px #<?php echo get_theme_mod('background_color'); ?>;
}
</style>

список змін

З версії 2.1.0Введено.

Код get_theme_mod() WP 6.0.2

function get_theme_mod( $name, $default = false ) {
	$mods = get_theme_mods();

	if ( isset( $mods[ $name ] ) ) {
		/**
		 * Filters theme modification, або 'theme_mod', value.
		 *
		 * The dynamic portion of hook name, `$name`, refers to the key name
		 * of the modification array. Для прикладу, 'header_textcolor', 'header_image',
		 * and so on depending the theme options.
		 *
		 * @ Since 2.2.0
		 *
		 * @param mixed $current_mod значення для активного теми зміни.
		 */
		return apply_filters( "theme_mod_{$name}", $mods[$name]);
	}

	if ( is_string( $default ) ) {
		// Лише керувати розташуванням if an sprintf() string format pattern was found.
		if ( preg_match( '#(?<!%)%(?:d+$?)?s#', $default ) ) {
			// Remove a single trailing percent sign.
			$default = preg_replace( '#(?<!%)%$#', '', $default );
			$default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() );
		}
	}

	/** Цей filter is documented в wp-includes/theme.php */
	return apply_filters( "theme_mod_{$name}", $default );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *