2014-01-21 100 views
4

我對WordPress很新,我正在弄清楚如何將jQuery包含到主題中。如何在WordPress主題中包含jQuery?

我創建下面的函數爲的functions.php主題:

function load_java_scripts() { 
    // Load FlexSlider JavaScript that handle the SlideShow: 
    wp_enqueue_script('jQuery-js', 'http://code.jquery.com/jquery.js', array(), '1.0', true); 
} 
add_action('wp_enqueue_scripts', 'load_java_scripts'); 

所以我認爲,我可以把它添加一些其他的JavaScript或CSS本地資源,但我不知道這個方法,因爲在這種情況下,的jquery.js不是本地資源,但是是一個在線資源(是一回事嗎?)

我也有一些疑惑,因爲在網上我發現不同的方法將jQuery添加到我的主題搜索,像這樣one

你能告訴我一些關於如何正確完成這個任務的信息嗎?

+1

你爲什麼包括jQuery的manualy?這是不是包括在內? – timo

回答

1

試試這個,

<?php 
    function load_external_jQuery() { 
     wp_deregister_script('jquery'); // deregisters the default WordPress jQuery 
     $url = 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'; // the URL to check against 
     $test_url = @fopen($url,'r'); // test parameters 
     if($test_url !== false) { // test if the URL exists if exists then register the external file 
      wp_register_script('jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'); 
     } 
     else{// register the local file 
      wp_register_script('jquery', get_template_directory_uri().'/js/jquery.js', __FILE__, false, '1.7.2', true); 
     } 
     wp_enqueue_script('jquery'); // enqueue the jquery here 
    } 
    add_action('wp_enqueue_scripts', 'load_local_jQuery'); // initiate the function 
?> 
3

在WordPress無需自定義jQuery的。 將依賴項添加爲「jquery」,它會自動加載。

1

由於WP已經自帶了jQuery的,我只會加載你的主題,添加像這樣到你的functions.php

function load_scripts(){ 
    //Load scripts: 
    wp_enqueue_script('jquery'); # Loading the WordPress bundled jQuery version. 
    //may add more scripts to load like jquery-ui 
} 
add_action('wp_enqueue_scripts', 'load_scripts'); 

有幾種方式,包括jQuery的入主題。我總是使用WP捆綁版本,我覺得它非常簡單。

1

您可以使用以下方法包括jQuery的:

wp_enqueue_script('jquery'); 

wp_enqueue_script('load-js-validate', 'foldername/jquery.js'); 

Directly add in header file.<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.js"></script> 

function js_scripts() { 
wp_enqueue_script('jquery', get_template_directory_uri() . '/js/example.js'); 
} 

add_action('wp_enqueue_scripts', 'js_scripts'); // add this in function file 
2

有你爲什麼不使用jQuery的任何具體原因在WordPress發現了什麼?

如果您需要添加依賴於jQuery的JavaScript文件,可以將jQuery添加爲dependency

<?php 

function my_scripts_method() { 
    wp_enqueue_script(
     'custom-script', 
     get_stylesheet_directory_uri() . '/js/custom_script.js', #your JS file 
     array('jquery') #dependencies 
    ); 
} 

add_action('wp_enqueue_scripts', 'my_scripts_method'); 

?> 

請注意,WordPress在no conflict wrappers中加載jQuery。所以你的代碼應該是這樣的:

jQuery(document).ready(function($) { 
    // Inside of this function, $() will work as an alias for jQuery() 
    // and other libraries also using $ will not be accessible under this shortcut 
}); 
+0

謝謝@RRikesh,那就是問題所在。我忽略了jQuery加載。我不知道沒有衝突包裝。出於某種原因,我似乎無法將您的答案標記爲解決方案。 –

相關問題