Intereting Posts
Тип столбца Costum с costum (sub) таксономия Не удалось открыть поток / нет такого файла или каталога Список всех категорий блога Получить конкретную часть шаблона, если пользовательское поле – это некоторая ценность По умолчанию загрузочный архив «post»? Перемещение wp-admin в другое поддомену Всегда показывать дочернюю категорию по URL-адресу, даже если выбрана родительская категория Код настраиваемых полей не отражается в поле значений Add_meta_box не отображается, но отображается в параметрах экрана Выходные значения из Customizer не работают Как использовать инструмент обрезки эскизов Как создать случайные числовые пули для персонализированного типа сообщения? Плагин jQuery для аккордеона не будет работать после использования в WP Какой крючок следует использовать для добавления действия, содержащего перенаправление? Перечислите только детей первого уровня с конкретным сроком таксономии

настройки настраивателя для флажка (отображение содержимого)

В настоящее время я делаю выбор в настройщике, чтобы скрыть контент, используя флажок, галочку, чтобы показать и не отклеивать, чтобы скрыть .. использовал его, чтобы применить отображение: блок и отображение: нет на идентификаторе, чтобы получить эффект, но это не кажется работать должным образом. я был над кодом, но, похоже, не нашел ответа. есть ли способ присвоить значения флажку? ниже мой код: поэтому по умолчанию поле должно быть отмечено и показывать содержимое. когда он не обращается, он должен переключиться на отображение: none

// WooCommerce Setting (toggle display - products on homepage) $wp_customize->add_setting( 'woocommerce_productdisplay' , array( 'default' => 'block', 'transport' => 'refresh', 'sanitize_callback' => '', ) ); // WooCommerce Control (toggle display - products on homepage) $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'woocommerce_productdisplay', array( 'label' => __( 'Display Products on Page', 'woocommerce_productdisplay'), 'section' => 'woocommerce_section', 'type' => 'checkbox', 'settings' => 'woocommerce_productdisplay', ) ) ); // ================================================================================== // } add_action( 'customize_register', 'woocommerce_customize_register' ); function woocommerce_customize_css() { ?> <style> #woocommerce-container {display: <?php echo get_theme_mod('woocommerce_productdisplay', ''); ?>; } </style> <?php } add_action( 'wp_head', 'woocommerce_customize_css'); 

Похоже, что вы пропускаете некоторые вещи из массива настроек, а именно type должен быть здесь theme_mod и capability должна быть установлена. Можешь попробовать:

 $wp_customize->add_setting( 'woocommerce_productdisplay' , array( 'type' => 'theme_mod', 'capability' => 'edit_theme_options', 'default' => '1', 'transport' => 'refresh', 'sanitize_callback' => '', ) ); 

Также обратите внимание, что default по default для флажка должно быть «1» для отметки. Тогда вы также будете использовать немного другой код для вывода:

 <style> #woocommerce-container {display: <?php $display = get_theme_mod('woocommerce_productdisplay', '1'); if ($display) {echo 'block';} else {echo 'none';} ?>; } </style>