我的插件中有一个JavaScript文件,当在任何前端页面中单击任何链接时,我需要引用一个声音文件来播放。
我是这样做的:
my\\u插件/my\\u插件。php
function pr_add_link_sound () {
wp_register_script(\'add_sound\', plugins_url(\'add_sound.js\', __FILE__), [\'jquery\'], \'\', true);
wp_enqueue_script(\'add_sound\');
}
add_action(\'wp_enqueue_scripts\', \'pr_add_link_sound\');
my\\u插件/添加声音。js公司
(function($){
var sound = new Audio(\'sound.mp3\');
$(\'a\').on(\'click\', function(){
sound.play();
});
})(jQuery);
我添加了“声音”。我的插件根文件夹中的mp3文件如下:
my\\u插件/声音。mp3
但是js脚本中声音文件的引用不正确。我应该如何正确引用该文件?
最合适的回答,由SO网友:Abhik 整理而成
使用wp_localize_script
.
function pr_add_link_sound () {
//Register the script first
wp_register_script(\'add_sound\', plugins_url( \'add_sound.js\', __FILE__ ), array(\'jquery\'), \'\', true);
//Localize the sound file url to use in the script
$args = array(
\'sound1\' => plugins_url( \'sound.mp3\', __FILE__ ),
);
wp_localize_script( \'add_sound\', \'PRSound\', $args );
//Enqueue the script
wp_enqueue_script(\'add_sound\');
}
您可以像这样引用js文件中的声音。。
(function($){
var sound = new Audio( PRSound.sound1 );
$(\'a\').on(\'click\', function(){
sound.play();
});
})(jQuery);