Intereting Posts
Я разбил разбивку на страницы, те же сообщения на всех страницах (index.php) Localhost WordPress не распознает мою онлайн-учетную запись WordPress Очистите веб-страницу для изображения и добавьте ее в сообщение MySQL Rank & $ wpdb Проблема с типом почтового сообщения Отображать сообщение на главной странице при активации новой учетной записи пользователя Ограничение длины Excerpt не работает для Sticky Posts Почему плагины, вызывающие «неожиданный выход», создают проблемы AJAX? Пользовательская форма для защищенной паролем страницы Как я могу предоставить доступ к сайту WordPress с помощью приложения для Android? Запросить настраиваемый тип сообщения только в том случае, если он содержит другой настраиваемый тип сообщения Правильное использование выходного буфера Ограничение разрешенных элементов html / удаление вредоносных сценариев из редактора Отобразить категорию Название текущего сообщения в WP Job Manager WP AJAX не работает, всегда возвращает 0

Как должен работать WP_Customize_Background_Image_Control?

Я пытаюсь добавить вторую функцию фонового изображения в свой редактор тем с этим кодом.

// HTML Background Image $wp_customize->add_setting( 'html_background_image', array( 'capability' => 'edit_theme_options', )); $wp_customize->add_control( new WP_Customize_Background_Image_Control( $wp_customize, 'background_image', array( 'label' => __('HTML Background Image', 'TEXTDOMAIN'), 'section' => 'background_image', 'settings' => 'html_background_image', ))); 

Но это не сработает. Я что-то упустил?

В этом классе очень мало документации, но ниже приведен полный пример из ядра WordPress (здесь github ). Обратите внимание, что вы будете использовать объект $wp_customize вы получите как аргумент для вашего custom_register callback, а не $this как и основной класс. Я выполнил поиск и заменил ниже, и он работает.

  /* CORE COPY PASTE */ //https://github.com/WordPress/WordPress/blob/master/wp-includes/class-wp-customize-manager.php#L808 /* Custom Background */ $wp_customize->add_section( 'background_image', array( 'title' => __( 'Background Image' ), 'theme_supports' => 'custom-background', 'priority' => 80, ) ); $wp_customize->add_setting( 'background_image', array( 'default' => get_theme_support( 'custom-background', 'default-image' ), 'theme_supports' => 'custom-background', ) ); $wp_customize->add_setting( new WP_Customize_Background_Image_Setting( $wp_customize, 'background_image_thumb', array( 'theme_supports' => 'custom-background', ) ) ); $wp_customize->add_control( new WP_Customize_Background_Image_Control( $wp_customize ) ); $wp_customize->add_setting( 'background_repeat', array( 'default' => 'repeat', 'theme_supports' => 'custom-background', ) ); $wp_customize->add_control( 'background_repeat', array( 'label' => __( 'Background Repeat' ), 'section' => 'background_image', 'type' => 'radio', 'choices' => array( 'no-repeat' => __('No Repeat'), 'repeat' => __('Tile'), 'repeat-x' => __('Tile Horizontally'), 'repeat-y' => __('Tile Vertically'), ), ) ); $wp_customize->add_setting( 'background_position_x', array( 'default' => 'left', 'theme_supports' => 'custom-background', ) ); $wp_customize->add_control( 'background_position_x', array( 'label' => __( 'Background Position' ), 'section' => 'background_image', 'type' => 'radio', 'choices' => array( 'left' => __('Left'), 'center' => __('Center'), 'right' => __('Right'), ), ) ); $wp_customize->add_setting( 'background_attachment', array( 'default' => 'fixed', 'theme_supports' => 'custom-background', ) ); $wp_customize->add_control( 'background_attachment', array( 'label' => __( 'Background Attachment' ), 'section' => 'background_image', 'type' => 'radio', 'choices' => array( 'fixed' => __('Fixed'), 'scroll' => __('Scroll'), ), ) ); 

Кажется, вы не можете настроить раздел eg, и для доказательства посмотрите на этот код для третьего аргумента WP_Customize_Image_Control