1

我在使用自定义 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 );
}
4

2 回答 2

0

看起来这是一个时间问题。不幸的是,链中尚不存在这些部分,因此操作它们不会产生预期的效果。我最终不得不保留处理主题中默认设置的逻辑。

于 2013-11-07T02:06:03.303 回答
0

我也有同样的问题。我通过在 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;
}

希望这对某人有帮助:)

于 2016-09-19T15:28:47.930 回答