Функция GET_THEME_MODS() в WordPress
Функция get_theme_mods() позволяет получить все изменения, внесенные в текущую тему вашего сайта на WordPress. Это полезно, когда вам нужно управлять настройками темы, такими как цвета, логотипы и другое.
Как это работает
Функция использует другую функцию WordPress get_option(), чтобы извлечь настройки темы. Основные функции, которые ссылаются на get_theme_mods(), включают:
get_theme_mod()remove_theme_mod()set_theme_mod()
Эти функции позволяют вам получать, удалять и устанавливать параметры темы.
Возвращаемое значение
Функция возвращает массив (array), который содержит все изменения темы.
Использование
Пример вызова функции:
$mods = get_theme_mods();
Пример
Получение всех настроек темы
Ниже приведен пример, который демонстрирует, как получить все изменения темы в виде массива.
$mods = get_theme_mods();
print_r( $mods );
/*
Array
(
[nav_menu_locations] => Array
[header] => 2
[footer_credit] => 3
[footer_left] => 4
[footer_right] => 5
[custom_css_post_id] => -1
[custom_logo] => 7
[sidebars_widgets] => Array
[time] => 1550171673
[data] => Array
[wp_inactive_widgets] => Array
[0] => search-2
[1] => recent-posts-2
[2] => recent-comments-2
[3] => archives-2
[4] => categories-2
[5] => meta-2
[footer_bg_image] => http://dh5.com/content/uploads/2019/02/bg-footer.jpg
)
*/
echo $mods['header_textcolor']; // > 333
Этот код получает все настройки темы и выводит их на экран. Например, вы можете увидеть, какой цвет текста используется в заголовке, вызвав echo $mods['header_textcolor'];.
Обновления функции
Изменения в версии
- С версии 3.1.0 — функция была введена.
- С версии 5.9.0 — возвращаемое значение всегда является массивом.
Код функции
Вот код функции get_theme_mods():
function get_theme_mods() {
$theme_slug = get_option( 'stylesheet' );
$mods = get_option( "thememods$theme_slug" );
if ( false === $mods ) {
$theme_name = get_option( 'current_theme' );
if ( false === $theme_name ) {
$theme_name = wp_get_theme()->get( 'Name' );
}
$mods = get_option( "mods_$theme_name" ); // Устаревшее местоположение.
if ( is_admin() && false !== $mods ) {
update_option( "theme_mods_$theme_slug", $mods );
delete_option( "mods_$theme_name" );
}
}
if ( ! is_array( $mods ) ) {
$mods = array();
}
return $mods;
}
Связанные функции
Некоторые функции, которые могут вас заинтересовать при работе с модификациями тем:
get_theme_mod()remove_theme_mod()set_theme_mod()remove_theme_mods()
Эти функции помогут вам более гибко управлять параметрами вашей темы.
Эта статья поможет вам понять, как пользоваться функцией get_theme_mods() в WordPress, а также как работать с модификациями вашей темы, даже если вы новичок в данной системе.