Intereting Posts
Запрос расширенных пользовательских полей Две петли на разных страницах делают то же самое, но работает только одна страница Пользовательские элементы типа сообщения открываются в архивах? Пользователи не могут загружать изображения на интерфейсе, если у них нет доступа к wp-серверу Как добавить подкатегорию WordPress без выбора Запланировать будущую должность в статус персонализированного сообщения вместо публикации? Каков рекомендуемый способ структурирования большого количества плагинов, общих функций и общих зависимостей на сайте WordPress? Список дочерних страниц в шаблоне страницы Создание архива с использованием пользовательской таксономии Пользовательские настройки таксономических фильтров типа Импорт массового изображения из папок get_post () vs global $ post или $ GLOBAL подсчитывать количество комментариев пользователей с определенным значением метаданных комментария Как получить URL-адрес изображения только на the_post_thumbnail Редактировать строку из идентификатора базы данных (собственный плагин)

theme customizer – может ли одна опция передать несколько значений?

На моей панели настроек у меня есть переключатель для скрытия или отображения функции на моем сайте WordPress. Однако при выборе одной опции мне нужно передать несколько значений.

например

введите описание изображения здесь

связанные разделы в моих functions.php выглядят так:

$wp_customize-> add_control('blog_setting', array( 'label' => __("Turn on / off the blog link", 'portfolio'), 'section' => 'Layout_options', 'settings' => 'blog_setting', 'type' => 'radio', 'choices' => array( 'block' => 'Blog link visible', 'none' => 'Blog link hidden' ) ) ); 

и я изменяю css с этим значением следующим образом:

 function css_customizer(){ ?> <style type="text/css"> .blog__Link{display: <?php echo get_theme_mod('blog_setting'); ?>} </style> <?php } add_action('wp_head', 'css_customizer'); 


Однако мне нужно реализовать что-то вроде этого (примечание **)

  $wp_customize-> add_control('blog_setting', array( 'label' => __("Turn on / off the blog link", 'portfolio'), 'section' => 'Layout_options', 'settings' => 'blog_setting', 'type' => 'radio', 'choices' => array( 'block', '1'** => 'Blog link visible', 'none', '0'** => 'Blog link hidden' ) ) ); 

и получить доступ ко второму значению следующим образом:

 function css_customizer(){ ?> <style type="text/css"> .blog__Link{display: <?php echo get_theme_mod('blog_setting[0]**'); ?>} .second_css_class{opacity: <?php echo get_theme_mod('blog_setting[1]**'); ?>} </style> <?php } add_action('wp_head', 'css_customizer'); 

Это возможно? Я понимаю, что можно использовать javascript-theme-customizer, но это кажется сложным, мне просто нужно передать несколько значений для каждого параметра и иметь доступ к ним. Благодарю.

Solutions Collecting From Web of "theme customizer – может ли одна опция передать несколько значений?"

Я понимаю, что вы пытаетесь сделать, но здесь вы находитесь в неправильном направлении, вы можете просто проверить, был ли выбран ваш логический элемент и присвоить значение так:

 function css_customizer(){ $blog_setting_val = get_theme_mod('blog_setting'); $opacity_val = ($blog_setting_val == 'block') ? '1' : '0'; ?> <style type="text/css"> .blog__Link{display: <?php echo $blog_setting_val; ?>} .second_css_class{opacity: <?php echo $opacity_val; ?>} </style> <?php } add_action('wp_head', 'css_customizer'); 

это должно сделать это для вашего конкретного случая.