我有一个WordPress插件,我必须将脚本从插件加载到网站的前端。
class My_Plugin {
function __construct()
{
add_action(\'admin_menu\', array(&$this, \'add_submenu\'));
add_action(\'admin_init\', array(&$this, \'admin_init\'))
}
function load_my_scripts(){
wp_enqueue_script(\'script\', \'js/myscript.js\');
}
我想加载我的脚本,所以使用右钩子将能够将脚本添加到网站的所有页面。
我已经试过了
add_action(\'wp_head\', array(&$this, \'load_my_scripts\'));
add_action(\'init\', array(&$this, \'load_my_scripts\'));
等等。。。但我没有找到任何解决办法。。。你能帮帮我吗?
最合适的回答,由SO网友:Eugene Manuilov 整理而成
使用wp_enqueue_scripts
和admin_enqueue_scripts
将脚本排队的操作:
// for front end
add_action(\'wp_enqueue_scripts\', array(&$this, \'load_my_scripts\'));
// for back end
add_action(\'admin_enqueue_scripts\', array(&$this, \'load_my_scripts\'));
还要注意,在站点的所有页面上加载脚本是不好的做法。仅在需要时加载脚本:
// ...
function load_my_scripts() {
if ( $some_condition ) {
wp_enqueue_script(\'script\', \'js/myscript.js\');
}
}
// ...