2015-02-09 50 views
1

我目前正在開發一個使用基礎和_s的自定義主題我有幾個questions.I按照本教程Here enqued所有我的腳本等,現在它的工作。使用Zurb基金會與wordpress不衝突

我唯一擔心的是jQuery,在一些論壇上說我必須註銷jquery,然後註冊另一個等。在一些論壇上,它說我必須使用非衝突模式,而其他人告訴我只是爲了把它包括在內,就是這樣。在這種情況下適當的做法是什麼?我不想尋找一個臨時的解決方案,我希望這個主題能夠在沒有問題或未來打破的情況下更新。

在使用非衝突方法的情況下。我創建了一個名爲foundation.js文件,並使用此代碼enqued它在functions.php文件:

jQuery.noConflict(); 
jQuery(document).ready(function($) { 
    $(document).foundation(); 
}); 

這是正確的方法是什麼?

回答

0

WordPress附帶的jQuery庫設置爲noConflict()模式。在noConflict()模式下,jQuery的全局$快捷方式不可用。因此,在foundation.js你可以使用:

jQuery(document).ready(function ($) { 
    jQuery(document).foundation(); 
}); 

check this link from the Codex

+0

'jQuery的(文件)。就緒(函數($){ jQuery(document).foundation(); });'如果我只是把它放在foundation.js中,我敢保證我在將來不會有更新的wordpress等問題? – steamfunk 2015-02-09 23:28:00

+0

我不知道WP的未來更新會包含哪些內容:)但這是我遵循相同的教程之後所做的,然後取消並開發了自己的教程。 – 2015-02-10 00:18:28

0

的文檔是粗略的,但是這應該是正確的方法,至少它爲我工作:

在functions.php中:

function my_enqueue_foundation() { 
    wp_register_script('foundation', get_template_directory_uri() . '/js/foundation.min.js','','1.1', true); 
    wp_enqueue_script('foundation'); 
} 
add_action('wp_enqueue_scripts', 'my_enqueue_foundation'); 

然後在footer.php初始化基礎

<?php wp_footer(); ?> 


<script> jQuery(document).foundation(); </script> 
+0

''這是一個必要的程序嗎?請原諒我的無知,但那究竟是做什麼' – steamfunk 2015-02-09 23:49:17

+0

@steamfunk。對不起,這是不正確的,我檢查了一箇舊的模板。我糾正了上面的答案。 – 2015-02-09 23:59:50

+0

另見[http://foundation.zurb.com/docs/javascript.html](http://foundation.zurb.com/docs/javascript.html) – 2015-02-10 00:06:23

0

如果您按照鏈接到(github)的教程進行設置,在主題的functions.php文件基礎JS和初始化腳本中排隊:

function awesome_theme_scripts(){ 
    // scripts here ... 
    wp_enqueue_script('foundation-js', get_template_directory_uri() . '/foundation/js/foundation.min.js', array('jquery'), '1', true); 
    wp_enqueue_script('foundation-init-js', get_template_directory_uri() . '/foundation.js', array('jquery'), '1', true); 
    // more scripts... 
} 

後者包含noConflict代碼並初始化基金會:

jQuery(document).ready(function($) { 
    $(document).foundation(); 
});