2013-10-06 52 views
2

OK,這是推動我堅果:加載自定義JavaScript的WordPress插件

我想要建立一個簡單的WordPress插件,我試圖以確保JS是從PHP分開。我已經通過食品消失了,各種教程,但他們要麼都做的假設,或者我只是一個白癡,因爲它不工作...基本上,我ultiamtely希望用ajax一些行添加到自定義表的時候我加入後,但首先我剛剛拿到了得到這個的Hello World一個添加後的網頁上工作...

當然,它的死很容易:

下面是myplug/JS的JavaScript /myplugin.js:

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

下面是在該插件(但不好)的版本:

function admin_load_js(){ 
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>'; 
} 
add_action('admin_head', 'admin_load_js'); 

這是略好,但不工作(沒有定義的jQuery):

function admin_load_js(){ 
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>'; 
} 
add_action('admin_enqueue_scripts', 'admin_load_js'); 

這是我認爲它應該做的方式,但沒有在所有的工作只是沒有按」 t做任何事情:

function admin_load_js(){ 
wp_register_script('custom_js', plugins_url('/js/myplugin.js', __FILE__)); 
} 
add_action('admin_enqueue_scripts', 'admin_load_js'); 

有人可以給我一個線索嗎?即使谷歌目前不是我的朋友。也許是因爲它晚了,我不知道......

回答

8

試試這個:

function admin_load_js(){ 
    wp_enqueue_script('custom_js', plugins_url('/js/myplugin.js', __FILE__), array('jquery')); 
} 
add_action('admin_enqueue_scripts', 'admin_load_js'); 

wp_register_script剛剛註冊的腳本。您仍然需要手動加載腳本。

或者你可以使用wp_enqueue_script其所有這一切在同一時間。有了wp_enqueue_script,你可以指定依賴關係(在這個例子中是'jquery'),這樣它們就會在腳本之前加載。