Customizer JS API

时间:2015-05-07 作者:Aniruddh Joshi

好的,所以我一直在尝试自学如何使用customizer的JS API动态创建新的面板、部分和控件。

这几天一直令人沮丧,我无法通过JS API获得实现这一点的确切方法。

到目前为止,我正在做一些事情来实现这一目标,但没有成功:

    // for Settings
    api.create( 
        params.id, 
        params.id, 
        params.default, 
        params.args 
    );

    // for controls
    var controlConstructor = api.controlConstructor[params.type];
    var control = new controlConstructor(params.id, {
        params: params,
        previewer: api.previewer
    });
    api.control.add( 
        params.id, 
        control 
    );

     //for Sections
     var section = new api.Section(params.id, { 
        params: params
     }); 
    api.section.add( params.id, section );
    api.section(\'section_id\').activate();
他们似乎都没有工作,因为该部分没有出现,我必须运行api.section(\'section_id\').activate() 在控制台中显示两次该节,控件也是如此。

2 个回复
SO网友:Philip Ingram

1) 可能绑定到api。就绪状态可能会修复必须调用您的分区两次的问题

(function($, api){
  api.bind( \'ready\', function() {...

  }
})(jQuery);
我在trac中看到一条注释,上面写道“请注意,用于动态添加控件的API以及用于JS模板化自定义节和面板的API在WordPress 4.2中尚不可用。请参阅#30741。”读到trac以“现在可能不支持4.5”结尾,所以您的努力可能是徒劳的=(

2) 可找到wp\\U customize JS API以供参考here. 这link 也可能有用。

3) 我没有足够的代表性进行第三个链接,但你可以看看Kirki。org,它是自定义字段的辅助框架。Kirki在Github上也很活跃。

4) 在PHP方面,您可以在字段数组上使用“active\\u callback”选项来动态显示字段。

$wp_customize->add_control( \'some_single_page_specific_option\', array(
  \'label\'           => esc_html__( \'Single Page Option\' ),
  \'section\'         => \'my_page_options\',
  \'active_callback\' => \'if_is_singular\',
));

function if_is_singular(){
  if( is_singular() ){
    return true;
  } else {
    return false;
  }
}
祝你好运。

SO网友:Mohit Aneja

我建议您不要重新发明轮子,也许可以将此框架作为项目的基础。http://wpshed.com/wordpress-theme-customizer-framework/.

这是我在学习和寻找框架时发现的最好的一个。您可以使用自己的自定义控件扩展此框架,下面的链接将帮助您理解和实现通过jQuery或javascript在customizer和customizer preview之间的通信。

https://conductorplugin.com/developing-wordpress-customizer-part1/

结束

相关推荐

在我的WordPress主题中包含JavaScript和CSS的正确方法

我正在尝试用正确的方法构建我自己的Wordpress主题。但是我发现的第一个问题是如何“使用正确的方式”添加css和js。我找到了一些如何做的教程。e、 x:http://code.tutsplus.com/tutorials/loading-css-into-wordpress-the-right-way--cms-20402 (这是“2014年6月30日”)这一个http://code.tutsplus.com/articles/how-to-include-javascript-and-css-in