2011-02-07 30 views
15

我不能因爲某種原因讓wordpress/wp-admin頁面執行一個簡單的查詢文件。 它只適用於我在我的主題文件夾中註銷我的functions.php中的jquery,但是之後我必須單獨重新註冊所有jquery.ui文件,這很枯燥。我使用wordpress 3.0多站點安裝。我試圖不去碰核心的wp文件。添加一個jQuery腳本到WordPress管理

它會顯示在源文件和指向文件的鏈接正常但不會執行腳本。 繼承人什麼我在我的functions.php:

function my_script() { 
if (!is_admin()) { 
    wp_deregister_script('jquery'); 
    wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', false, '1.4.4'); 
    wp_enqueue_script('jquery'); 
    wp_enqueue_script('custom_script', get_bloginfo('template_url').'/js/myScript.js', array('jquery')); 
} 
if(is_admin()){ 
    wp_enqueue_script('custom_admin_script', get_bloginfo('template_url').'/js/admin_script.js', array('jquery')); 
} } 

ADD_ACTION( '初始化', 'my_script');

這裏是我的jQuery文件(admin_script.js):

$(document).ready(function(){ 
alert("Hello"); }); 

任何幫助將是巨大的。

+0

鑑於我從來沒有正面也不會在沒有衝突的情況下,我默認使用它,因爲它處理它,我可以堅持我的正常:(function($){//我所有的jQuery使用$('selectors')})(jQuery); – 2012-09-25 21:37:40

回答

26

要知道,jQuery的包括與WordPress在NoConflict模式運行,據我所知,這意味着沒有$,而是jQuery。這可能就是爲什麼您取消註冊內置jQuery並使用Google CDN中的一個。那個人可能不會以這種模式運行。

我對wordpress沒有任何經驗,所以我可能在這裏犯了一個錯誤。只要確保內置的jQuery可用並加載腳本。

function my_script() { 
    if (!is_admin()) { 
     wp_enqueue_script('custom_script', get_bloginfo('template_url').'/js/myScript.js', array('jquery')); 
    } 
    if(is_admin()){ 
     wp_enqueue_script('custom_admin_script', get_bloginfo('template_url').'/js/admin_script.js', array('jquery')); 
    } 
} 

更改admin_script.js使用jQuery代替$

jQuery(document).ready(function(){ 
    alert("Hello"); 
}); 

看看是否適合你。如果您喜歡使用$,則可以在admin_script.js的頂部寫var $ = jQuery;

+1

謝謝你的作品。我實際上嘗試過,但我之前有一個錯字... – drav 2011-02-08 00:10:25

+2

jQuery實際上將它自己作爲它調用的函數的第一個參數傳遞,所以你可以寫`jQuery(document).ready(function($){$(' ();});`等。或者,當然,只是`jQuery(function($){$('#blah')。click();});`。 – alnorth29 2015-06-26 15:58:43

7

你可以這樣做

<?php add_action('admin_enqueue_scripts', 'function_name'); ?> 

這可以像這樣使用

<?php add_action('admin_enqueue_scripts', 'load_custom_script'); ?> 
function load_custom_script() { 
    wp_enqueue_script('custom_js_script', get_bloginfo('template_url').'/js/custom-script.js', array('jquery')); 
} 

如需更多幫助,請參閱文檔here

相關問題