2016-08-17 75 views
0

現在我使用的是很簡單的功能到WordPress的JavaScript的移動到頁腳:WordPress的移動只有JavaScript到頁腳

function move_javascripts() { 
    remove_action('wp_head', 'wp_enqueue_scripts', 1); 
    add_action('wp_footer', 'wp_enqueue_scripts', 5); 
} 

的問題是,雖然這個代碼,似乎把所有的「腳本」到頁腳,甚至CSS ...我試圖找到一種方式來只移動.js部分,但我找不到任何...

所以有一些方法只針對的JavaScript和將它們移動到沒有CSS的頁腳?

回答

2

你對這整個WordPress腳本系統都很矯枉過正,說實話 - 這完全是我的意思,完全錯誤。當您將腳本插入WordPress時,您可以通過wp_enqueue_script執行此操作。

該函數接受5個參數,其中最後一個參數可以設置爲true,以便將其加載到頁腳中。

這裏是我的functions.php的摘錄:

if (!function_exists('wp_template_setup')) { 

    wp_enqueue_script('modernizr-script', get_template_directory_uri() . '/js/libs/modernizr.custom.js', '', '', true); 
} 
add_action('wp_enqueue_scripts', 'wp_template_setup'); 

最後放慢參數設置爲true,這意味着它會在頁腳中加載。

見WordPress的食品的詳細信息:https://developer.wordpress.org/reference/functions/wp_enqueue_script/

+0

嗯,所以如果我使用像_s一個主題,那豈不是我需要找到這些腳本添加則只需設置5參數設置爲true? – Dacramash

+0

實際上,這個主題中的所有JS都已經在頁腳中了......猜猜我將不得不直接使用WP代碼來修復由WordPress本身調用的代碼 – Dacramash

+0

Noooo,不要擺弄WordPress的核心 - 一切都在WordPress可以被修改 - 完全不觸及WP Core文件*。對你的第一個評論 - 是的,你可以做到這一點。轉到您的主題文件夾,查找將其排入隊列的函數 - 將第五個參數設置爲true - 完成。 – 2016-08-17 15:01:13

0

在你的wp_register_script()調用中(腳本被排入隊列),有第5個參數叫做$in_footer,這個參數是爲這個設計的。在那裏拋出一個true,它會將腳本移動到頁腳。請注意,您必須在每個wp_register_script()調用上執行此操作。