我是否只是通过从函数中回显jquery来添加jquery?
我是否在foo中添加了php变量check。js文件?
不,当然不。
使用wp_localize_script. 这个函数最初的目的是翻译js脚本,但它允许向js传递任何类型的变量。
function register_foo() {
wp_register_script(\'foo-js\', plugins_url(\'js/foo.js\', __FILE__), array(\'jquery\'), null);
$mydata = array(
\'foo\' => \'bar\', \'awesome\' => \'yes\'
);
wp_localize_script(\'foo-js\', \'mydata\', $mydata); // this one do the magic
wp_enqueue_script(\'foo-js\');
}
add_action(\'admin_enqueue_scripts\', \'register_foo\');
使用此代码段创建文件“foo”。js’被插入到管理页面中,一个变量,即json对象,被传递给脚本,您可以根据需要使用它。
现在,以你的“foo”为例。js’你可以拥有;
jQuery(document).ready(function($){
var foo = mydata.foo;
var awesome = mydata.awesome;
if ( foo == \'bar\' ) {
$(\'#someID.some-class > a\').append(\'<div class="caption"></div>\');
$(".caption").text("Is this script awesome? " + awesome + \'!\');
}
});