我在使用自定义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 );
}
答案 0 :(得分:0)
看起来这是一个时间问题。遗憾的是,这些部分尚未存在于链中,因此操纵它们并不具有所需的效果。我最终不得不保留处理主题中默认设置的逻辑。
答案 1 :(得分: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;
}
希望这有助于某人:)