2016-11-27 2 views
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'); 
     } 
    }); 
}); 

ответ

0

Попробуйте удалить значение по умолчанию из ' background_image '.

Смежные вопросы