Настройка транспорта в плагине для существующих настроек с помощью WP Customize API

У меня возникают проблемы с добавлением возможностей «транспорта» для существующих настроек с помощью API настройки. Я могу добавлять и удалять настройки без проблем, но добавление транспорта к текущим, похоже, не занимает. JS загружается без проблем, но метод «обновления» все еще используется.

Вы можете добавить «postMessage Transport» в плагин? Эти вызовы внутри темы работали нормально.

function __construct() {

    add_action( 'customize_register', array( $this, 'base_customize_register' ) );
    add_action( 'customize_preview_init', array( $this, 'base_customize_preview_js' ) );

}   

function base_customize_register( $wp_customize ) {
    $wp_customize->get_setting( 'blogname' )->transport         = 'postMessage';
    $wp_customize->get_setting( 'blogdescription' )->transport  = 'postMessage';
    $wp_customize->remove_section( 'static_front_page');
}

function base_customize_preview_js() {
    wp_enqueue_script( 'base_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20131008', true );
}

person etc    schedule 06.11.2013    source источник


Ответы (2)


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

person etc    schedule 07.11.2013

У меня тоже была точно такая же проблема. Я решил это, используя аргумент приоритета в функции add_action.

add_action( "customize_register", "wpcb_theme_customize_register",999,1);
function wpcb_theme_customize_register($wp_customize){
    $wp_customize->get_section( 'title_tagline' )->priority = 999;
    $wp_customize->get_section( 'static_front_page' )->priority = 1000;
}

Надеюсь, это поможет кому-то :)

person Ravi Shakya    schedule 19.09.2016