在 WordPress 中載入指令碼 (為 CSS 和 JS,下同) 檔案,大多數人的做法是直接在 header.php 檔案中新增 link 標籤,或者把 link 標籤透過 wp_head 鉤子直接新增到 head 標籤裡,這種做法是不符合官方規範的。

標準的指令碼載入方式應該是使用 WordPress 官方提供的函式 (後邊會說),統一標準有幾個好處,首先就是更加安全和利於管理,其次是更加的方便快捷,而且不僅主題能掛載指令碼,外掛也可以,並且還能管理指令碼,並且調整掛載順序和位置和其它內容。

在哪個鉤子載入?

在呼叫載入指令碼函式之前,我們首先要確定函式在哪個鉤子處執行,有四個常用的指令碼載入鉤子,分別是 wp_enqueue_scripts(在前臺載入) 、 admin_enqueue_scripts(在後臺載入) 、 login_enqueue_scripts(在登入頁載入) 和 init(全域性載入) 。

最常用的應該是 wp_enqueue_scripts 了,掛載到這上面,指令碼只在前臺載入。

載入 JavaScript 指令碼

比如說我想在前臺載入一個 JS,是主題根目錄 JS 資料夾的 themes.js 檔案。首先需要使用 wp_register_script() 函式把 JS 新增到指令碼庫裡邊 (註冊指令碼),然後再使用 wp_enqueue_script() 函式掛載指令碼。

functionBing_enqueue_scripts(){

    wp_register_script('themes_js',get_bloginfo('template_directory').'/js/themes_js.js');//註冊 ID 為 themes_js 的 JS 指令碼

    wp_enqueue_script('themes_js');//掛載指令碼

}

add_action('wp_enqueue_scripts','Bing_enqueue_scripts');

載入 CSS 指令碼

functionBing_enqueue_scripts(){

    wp_register_style('style',get_bloginfo('template_directory').'/style.css');

    wp_enqueue_style('style');

}

add_action('wp_enqueue_scripts','Bing_enqueue_scripts');

小結

本文只是非常簡單的講解了怎麼載入指令碼,合理的利用指令碼排隊機制,可以讓程式變得靈活,也可以加快效率。