但它确实需要以前使用wp_enqueue_scripts
,因此您确实需要将JS移动到单独的文件中
当然,这几分钟的努力是值得的。
function wpse_96370_scripts()
{
if ( is_single() ) {
wp_register_script(
\'your_script_handle\',
get_template_directory_uri() . \'/js/your-script.js\',
array( /* dependencies*/ ),
1.0,
true
);
wp_enqueue_script( \'your-script-handle\' );
$script_params = array(
/* examples */
\'post\' => 99,
\'users\' => array( 1, 20, 2049 )
);
wp_localize_script( \'your-script-handle\', \'scriptParams\', $script_params );
}
}
add_action( \'wp_enqueue_scripts\', \'wpse_96370_scripts\' );
在JS中,您将能够使用传递的参数,如下所示:
var posts = scriptParams.post,
secondUser = scriptParams.users[1]; /* index starts at 0 */
// iterate over users
for ( var i = 0; i < scriptParams.users.length; i++ ) {
alert( scriptParams.users[i] );
}
根据您的评论[编辑]您的情况
我创建了一个新的db表response.id
来自facebook api的。这是表:action\\u id、user\\u id、post\\u id、fb\\u id,其中fb\\u id是响应。来自facebook操作的id。然后是单曲。php我有一个按钮,如果我按下,我必须用api删除fb操作:FB.api(\'/\'+fb.response, \'delete\');
哪里fb.response
应该是fb_id
从表中。
将以下主题/js/
文件夹,如果不存在,请创建它
让我们调用文件fb-response.js
:
jQuery( \'#button_id\' ).click( function() {
FB.api( \'/\' + fbParams.id, \'delete\' );
});
然后如上所示进行注册、排队和本地化。假设你有你想要传递的身份
$fb_id
:
wp_register_script(
\'fb-response\',
get_template_directory_uri() . \'/js/fb-response.js\',
array( \'jquery\' ),
1.0,
true
);
wp_enqueue_script( \'fb-response\' );
wp_localize_script( \'fb-response\', \'fbParams\', array( \'id\' => $fb_id ) );
注:显然,上述内容是假设这是一个主题。如果我们说的是“插件”,请相应地更改位置。