2014-11-04 33 views
0

在我的主題中,有一些category.php模板用於某些類別的檔案。我修改了這個文件,但有一個效果,我需要添加一些javascript到category.php文件的頭部。在這一文件中,有get_header();如何將腳本排入主題'function.php?

我打開我的主題header.php文件,看到的所有腳本文件似乎被這個函數初始化表達式:wp_head();

所以我想我得改變我的題材的functions.php將我的腳本排入檔案模板的頭部。

但如何做到這一點?我怎麼能過濾category.php?在我的研究中,我發現了這個功能:is_category() - 但它僅適用於模板文件。我可以通過下面的wp_head();功能加入這個我的header.php到我的javascript文件添加到頭:

if(is_category()){  
    echo '<script type="text/javascript" src="'.get_bloginfo("wpurl").'/wp-content/themes/my_theme/js/jquery-2.1.1.min.js'.'"></script>'; 
    echo '<script type="text/javascript" src="'.get_bloginfo("wpurl").'/wp-content/themes/my_theme/js/my_script.js'.'"></script>';   
} 

這工作,但似乎並沒有要做到這一點優雅/有道。我多次閱讀,總是應該使用enqueue_script函數來添加腳本。那麼最佳實踐和如何去做呢?

回答

1

你有正確的想法。您需要將腳本排入隊列,但前提是您位於類別歸檔頁面上。另外,WordPress includes jQuery by default,所以沒有理由包含你自己的。請記住,這意味着你需要遵守noConflict mode wrappers

function enqueue_my_so_scripts() { 
    if (is_category()) { 
     wp_enqueue_script('script-name', get_template_directory_uri() . '/js/my_script.js', array('jquery')); 
    } 
} 
add_action('wp_enqueue_scripts', 'enqueue_my_so_scripts'); 
+0

完美!它的工作,非常感謝你!關於jQuery - 沒有排隊我的jQuery腳本my_script不起作用。但我認爲有一種方法可以用新版本替換默認的jQuery。我會檢查一下。 – user2718671 2014-11-05 09:15:13

+1

是的,你正在尋找[wp_deregister_script](http://codex.wordpress.org/Function_Reference/wp_deregister_script)< - 該鏈接有關於註銷jquery的很好的信息。然後,你只需要「排隊」你自己的jquery(並將其命名爲「jquery」)。 – rnevius 2014-11-05 09:16:35

+0

很酷! Thx再次! – user2718671 2014-11-05 09:17:03

相關問題