0
Я пытаюсь добавить флажок в Customizer для отображения «Фонового изображения». Если флажок не установлен, он должен установить background-image: none для этого элемента. Я не вижу, где я ошибаюсь.WordPress Customizer Скрыть фоновое изображение Флажок
Это то, что у меня есть в моем файле customizer.php
// Background Image
$wp_customize->add_setting('background_image', array(
'default' => get_template_directory_uri() . '/images/default.jpg',
'transport' => 'postMessage'
));
$wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'background_image', array(
'label' => __('Background Image', 'minitheme'),
'settings' => 'background_image'
)));
// Display Background Image
$wp_customize->add_setting('display_background_image', array(
'default' => true,
'transport' => 'postMessage'
));
$wp_customize->add_control('display_background_image', array(
'label' => __('Display Background Image', 'minitheme'),
'type' => 'checkbox'
));
...
public static function header_output() {
?>
<!--Customizer CSS-->
<style type="text/css">
<?php self::generate_css('#header', 'background-image', 'slide_1_background_image'); ?>
#slide-1 {display: <?php
$display = get_theme_mod('display_slide_1_background_image', '1');
if ('false') {echo 'none';}
?>; }
</style>
<!--/Customizer CSS-->
<?php
}
это код у меня в соответствующем customizer.js файле:
// Background Image
wp.customize('background_image', function(value) {
value.bind(function(newval) {
$('#slide-1').css('background-image', 'url("' + newval + '")');
});
});
// Display Background Image
wp.customize('display_background_image', function(value) {
value.bind(function(to) {
if (false === to) {
$('#header').css('background-image', 'none');
}
});
});