Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 了解WordPress定制器JSAPI_Javascript_Wordpress_Jsapi - Fatal编程技术网

Javascript 了解WordPress定制器JSAPI

Javascript 了解WordPress定制器JSAPI,javascript,wordpress,jsapi,Javascript,Wordpress,Jsapi,我一直在尝试自学如何使用WordPress customizer的JSAPI动态创建新的面板、部分和控件 这一直令人沮丧,我无法通过JSAPI获得实现这一点的确切方法 到目前为止,我正在做一些事情来实现这一目标,但没有成功: // for Settings api.create( params.id, params.id, params.default, params.args ); // for controls var controlConstru

我一直在尝试自学如何使用WordPress customizer的JSAPI动态创建新的面板、部分和控件

这一直令人沮丧,我无法通过JSAPI获得实现这一点的确切方法

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

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

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

 //for Sections
 var section = new api.Section(sectionparams.id, { 
    params: sectionparams
 }); 
api.section.add( sectionparams.id, section );
api.section(sectionparams.id).activate();

它们似乎都不起作用,因为节没有出现,我必须在控制台中运行两次
wp.customize.section(sectionparams.id).activate()
,以使节出现,控件也是如此。

在functions.php文件中为主题添加节和设置,您可以在其中添加新的设置和节

当您实际更改主题设置时,您尝试使用的JavaScript部分仅用于实时预览部分。

阅读


您还可以找到

您使用的API是什么?我想把这本书通读一遍,但什么也没找到。什么是
api
对象?
api
wp.customize
对象。我想知道如何通过javascript api呈现定制器资产(面板、分区、控件和设置)。我想回答您关于WordPress Customize api的问题,但您最初的问题缺少一些细节,尤其是
controlparams
sectionparams
。另外,分发一些服务器端代码供审查也不错。(我相信我可以帮助你,因为我已经学会了一些WP自定义API空手道之类的东西。)这篇文章完美地解释了这一点:你在谈论我非常了解的PHP API。这里的问题是关于JSAPI的,它使用了
wp.customize
JS对象。当您说必须运行
API.section(sectionparams.id).activate()时
2x您是指第一次加载页面,然后在控制台中手动加载,还是仅在控制台中加载2x?您是否尝试过将代码包装到示例中所示的异常函数中?另外,为什么要使用
api
而不是
wp.customize
(函数($){//code Here})(jQuery)(函数($,api){//code Here})(jQuery,wp.customize)因此出现了
api
:)在这种情况下,JS API文档看起来没有多大帮助:(