3 回答

TA貢獻1829條經驗 獲得超9個贊
請試試這個
add_action('wp_footer','addjs');
function addjs() {
wp_register_script('anime', get_template_directory_uri() . '/js/anime.min.js', array ('jquery'),'',true);
wp_register_script('imagesload', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array ('jquery'),'',true);
wp_register_script('main', get_template_directory_uri() . '/js/main.js', array ('jquery'),'',true);
}

TA貢獻1886條經驗 獲得超2個贊
wp_enqueue_scripts 是在將要出現在前端的腳本和樣式排入隊列時使用的正確鉤子。盡管有這個名字,但它用于將腳本和樣式排入隊列。
因此,您必須在一個函數中添加腳本和樣式,或者您可以使用現有代碼再添加一個 wordpress 操作。
add_action( 'wp_enqueue_scripts', 'addjs' );

TA貢獻1794條經驗 獲得超8個贊
它的短而甜的是你沒有在addjs
任何地方調用你的函數。如果您添加:
add_action( 'wp_enqueue_scripts', 'addjs' );
然后它應該工作。(注意:以上不適用于任何人,請查看下面的編輯)
但是,您應該注意以下幾點:
確保您的縮進/間距一致,并且行后沒有多余的空格。干凈的代碼是關鍵!
不需要單獨添加 JS 和 CSS 文件,它們都可以在同一個
add_action
函數回調中處理。除非您正在做一些非?;ㄉ诘氖虑椋▋H在頁面上找到短代碼時才入隊等),
wp_enqueue_{script/style}
否則將為您處理該wp_register_{script/style}
功能。在大多數情況下,您可以使用enqueue
它們而不是注冊然后將它們加入隊列。查看文檔并確保您的參數與函數接受的參數相同。它將防止在更極端的情況下出現警告和錯誤。
這是為您整理的示例:
add_action( 'wp_enqueue_scripts', 'enqueue_theme_assets' );
function enqueue_theme_assets(){
// Styles
wp_enqueue_style( 'normal', get_template_directory_uri() . '/css/normalize.css', array(), '1.0' );
wp_enqueue_style( 'demonstration', get_template_directory_uri() . '/css/demo.css', array(), '1.0');
// Scripts
wp_enqueue_script( 'anime', get_template_directory_uri() . '/js/anime.min.js', array(), '1.0', true );
wp_enqueue_script( 'imagesload', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array(),'1.0', true );
wp_enqueue_script( 'main', get_template_directory_uri() . '/js/main.js', array(), '1.0', true );
}
編輯:
我剛剛看到你的評論add_action( 'wp_enqueue_scripts', 'addjs' );
不起作用??纯?a >wp_enqueue_script()
文檔。您會在#Usage部分注意到,它正確地將腳本排入wp_enqueue_scripts
鉤子依賴于主題中使用的wp_footer()
和wp_head()
函數,因此**確保您已wp_footer();
在主題中調用,特別是因為您將$in_footer
參數設置為true
.
- 3 回答
- 0 關注
- 131 瀏覽
添加回答
舉報