1 回答

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
不,您不需要兩次指定依賴項(xiàng)。
要了解該選項(xiàng)為何存在,您需要了解wp_enqueue_script和 的wp_register_script用途。
在將腳本放入隊(duì)列之前,您根本不必注冊(cè)腳本,您可以單獨(dú)使用wp_enqueue_script它,如果尚未注冊(cè),它將注冊(cè)它 - 這就是為什么您在兩個(gè)腳本中都有相同的選項(xiàng)(包括設(shè)置依賴項(xiàng))功能。
例如,您可以將其添加到您的functions.php廣告中,它將同時(shí)注冊(cè)和排隊(duì)腳本:
add_action( 'wp_enqueue_scripts', 'theme_scripts' );
function theme_scripts() {
if( ! is_admin() ) {
wp_enqueue_script( 'script_1_js', '//path/to/script/one.js' );
wp_enqueue_script( 'script_2_js', '//path/to/script/two.js', array( 'script_1_js' ) );
}
}
那為什么還要注冊(cè)腳本呢?有很多優(yōu)點(diǎn),例如:
您可以在一個(gè)位置使用正確的依賴項(xiàng)和其他設(shè)置注冊(cè)一次腳本,然后僅在需要它們的頁面或情況下加載它們。除了不必要地加載腳本之外,這也意味著您不必填寫在您使用該腳本的函數(shù)的每個(gè)地方的所有參數(shù)中wp_enqueue_script。
例如你可以在你的functions.php中包含這個(gè):
add_action( 'wp_enqueue_scripts', 'theme_scripts' );
function theme_scripts() {
if( ! is_admin() ) {
wp_register_script( 'script_1_js', '//path/to/script/one.js' );
wp_register_script( 'script_2_js', '//path/to/script/two.js', array( 'script_1_js' ), '1.1', true );
}
}
現(xiàn)在,例如,如果您只需要加載script_two_js2 個(gè)特定的頁面模板,則可以添加wp_enqueue_script( 'script_1_js' );到這些模板中,而不必每次都添加依賴項(xiàng)、版本,因?yàn)樗鼜淖?cè)時(shí)就已經(jīng)知道了這一點(diǎn)。
您還可以使用 注冊(cè)您的腳本wp_register_script,如果您有另一個(gè)腳本在其依賴項(xiàng)中包含此腳本,那么它將在該腳本之前自動(dòng)加載,而無需將其排隊(duì)。
例如,如果您有 four.js,它依賴于其他 3 個(gè)腳本,例如
add_action( 'wp_enqueue_scripts', 'theme_scripts' );
function theme_scripts() {
if( ! is_admin() ) {
wp_register_script( 'script_1_js', '//path/to/script/one.js' );
wp_register_script( 'script_2_js', '//path/to/script/two.js' );
wp_register_script( 'script_3_js', '//path/to/script/three.js' );
wp_register_script( 'script_4_js', '//path/to/script/four.js', array( 'script_1_js', 'script_2_js', 'script_3_js' );
}
}
現(xiàn)在您可以使用 at 加載腳本,wp_enqueue_script( 'script_4_js' );它將自動(dòng)加載腳本一、二和三。
希望這有助于回答您的問題!
- 1 回答
- 0 關(guān)注
- 122 瀏覽
添加回答
舉報(bào)