2017-03-01 95 views
0

我創建了下面的腳本和我的WordPress他們中添加他們functions.php文件:爲什麼我的WordPress模板不能識別我的JQuery庫和CSS文件?

add_action('wp_enqueue_scripts', 'scripts_styles'); 
function scripts_styles(){ 
    if(is_page_template('Disclosures.php')){ 
     wp_enqueue_script('jquery', get_template_directory_uri().'/js/jquery.validate.js', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_script('jquery', get_template_directory_uri().'/js/jquery.min.js', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_script('bootstrap', get_template_directory_uri().'/js/bootstrap.min.js', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_script('handlebars', get_template_directory_uri().'/js/handlebars.min.js', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_script('addrows', get_template_directory_uri().'/js/addrows.js', array(), GOVPRESS_VERSION, false); 
    } 
} 

function wpse_enqueue_page_template_styles() { 
    if (is_page_template('Disclosures.php')) { 
     wp_enqueue_style('bootstrapthemecss', get_template_directory_uri() . '/css/bootstrap-theme.min.css', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_style('bootstrapcss', get_template_directory_uri() . '/css/bootstrap.min.css', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_style('maincss', get_template_directory_uri() . '/css/main.css', array(), GOVPRESS_VERSION, false); 
    } 
} 
add_action('wp_enqueue_scripts', 'wpse_enqueue_page_template_styles'); 

然而,它們不是由我的自定義模板的認可。

換句話說,我用這些腳本和樣式表測試了我的頁面,它們工作得很好。

我能夠驗證表單域並以指定的樣式顯示結果。

然而,他們沒有驗證相同的表單字段和頁面沒有風格。

我錯過了什麼?

只是一個參考,主題的名稱是govpress。

感謝您的幫助提前。

回答

1
  1. 你似乎在排隊兩個腳本具有相同的名稱:jquery。但是,jquery已在WordPress中出現,您可能會注意到wp_enqueue_script()描述爲:不覆蓋。這意味着無論何時您嘗試使用與之前已排隊的腳本同名的腳本排隊......沒有任何反應。

  2. 如果您對WP中嵌入的jquery現有版本不滿意,您需要取消註冊並註冊新名稱:jquery。名字非常重要,因爲很多WP腳本都依賴於jquery。如果你更換它,他們將取決於你的版本,而不是所包含的版本。確保你排除jquery版本,而不管你的模板邏輯如何(如果你刪除了默認的)。

  3. 您應該指定jquery作爲取決於jquery的每個腳本的依賴項數組中的依賴項。

  4. 如果您的腳本和樣式都未加載,則可能需要調試腳本,檢查is_page_template('Disclosures.php')在您正在測試的頁面中是否返回true。一個簡單的die('this just happened...')將用於測試目的。

+0

首先,感謝您指出這個關於jQuery和wordpress的重要事實。 其次,我從我在這裏發佈的腳本中評論了jquery。再次測試,同樣的問題。 然後我使用調試器,如果is_page_template('Disclosures.php')然後死(...),再次,頁面沒有任何事情發生。 – Kenny

+0

這意味着您正在測試的頁面不使用「Disclosures.php」模板,這就是您的資源無法加載的原因。因爲條件不成立。 –

+0

您對我正在測試的頁面有什麼意義,不使用披露模板? 我正在測試Disclosures.php模板中的表單字段。也許,這裏有一個可教的時刻,因爲我一直相信,一旦你把註釋放在頂部命名你正在使用的模板上,並且你有if if_page()條件,它就會識別模板。我錯過了什麼嗎? – Kenny

相關問題