wp_enqueue_script()函數的功能,就是安全的將JS腳本添加到WordPress程序生成的頁面當中,該函數只會加載wordpress初始時沒有被加載的JS腳本,並且能安全的處理該JS腳本的依賴關係。使用wp_enqueue_script()函數來添加JS腳本文件,可以減少問題的出現,提高wordpress效率。
語法:
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
參數:
$handle: | (必需)腳本名稱。小寫字符串。默認值:None |
$src: | (可選)WordPress網站根目錄下的JS路徑。如:”/wp-includes/js/xxx.js”。默認值:None |
$deps: | (可選)依賴關係數組;加載該腳本前需要加載的其它腳本。默認值:array() |
$ver: | (可選)指明腳本版本號的字符串(若存在版本號)。默認為false。 |
$in_footer: | (可選)默認值:false,放置在區塊中。為true時,會出現在區最下方,但必須有wp_footer()鉤子。 |
示例
示例1:加載scriptaculous腳本
function my_init_method() {
wp_enqueue_script('scriptaculous');
}
add_action('init', my_init_method);
示例2、根據scriptaculous加載腳本
添加並加載一個依賴於scriptaculous的腳本(這將使scriptaculous也被加載入頁面):
wp_enqueue_script(
'newscript',
WP_PLUGIN_URL . '/someplugin/js/newscript.js',
array('scriptaculous'),
'1.0'
);
示例3、只在插件頁面加載腳本
add_action('admin_menu', 'my_plugin_admin_menu');
function my_plugin_admin_init(){
wp_register_script('myPluginScript', WP_PLUGIN_URL . '/myPlugin/script.js');
}
function my_plugin_admin_menu(){
$page = add_submenu_page( 'edit.php',
__('My Plugin', 'myPlugin'),
__('My Plugin', 'myPlugin'), 9, __FILE__,
'my_plugin_manage_menu');
add_action('admin_print_scripts-' . $page, 'my_plugin_admin_styles');
}
function my_plugin_admin_styles(){
wp_enqueue_script('myPluginScript');
}
function my_plugin_manage_menu(){ }
注意事項:
1、如果使用wp_head勾子來添加動作,wp_enqueue_script函數將失效,因為在wp_head運行前,標籤就已經輸出了。可以使用的動作勾子: init(初始化)、template_redirect (公共頁面)、admin_print_scripts (管理頁面)。</p>
2、$handle,是必填項,必須填寫;注意每一個的命名是唯一的,不能取一樣的名字。