我对为自定义小部件创建的Javascript有问题。
代码如下:
var wrapper = $(\'#wrapper\'), container;
$.ajax({
method: "POST",
url: "https://api.graphcms.com/simple/v1/SampleAPI",
contentType: "application/json",
headers: {
Authorization: "bearer ******"
},
data: JSON.stringify({
query: "query { allProducts { id title } }"
})
}).done(function(data) {
for( var key in data ) {
for (var i = 0; i<data[key].allProducts.length; i++)
{
console.log(data[key].allProducts[i]);
container = $(\'<div id="data" class="container"></div>\');
wrapper.appendTo(container);
container.appendTo(\'<input type=checkbox name="id" value=\' + data[key].allProducts[i].id + \'>\' + data[key].allProducts[i].title );
}
}
});
下面是我在函数中调用Jquery的方式。模板的php文件:
function jquery_import() {
wp_deregister_script(\'jquery\');
wp_register_script(\'jquery\',https://ajax.googleapis.com/ajax/libs/3.3.1/jquery.min.js\', array(), \'3.3.1\', true);
wp_enqueue_script(\'jquery\');
}
add_action( \'wp_enqueue_scripts\', \'jquery_import\' );
下面是我调用自定义javascript文件的方式:
function custom_wp_enqueue_scripts() {
wp_register_script( \'custom\', get_template_directory_uri() . \'/assets/js/custom.js\', array( \'jquery\' ), NULL, false );
wp_enqueue_script( \'custom\' );
}
add_action(\'wp_enqueue_scripts\', \'custom_wp_enqueue_scripts\');
最后,在我的小部件中,有以下div语句:
<div id="wrapper"> </div>
基于我的javascript,数据正在传入,但是,信息不会显示在我的小部件中。为什么它没有显示在我的小部件中?
谢谢你,凯文·戴维斯