2014-04-01 86 views
0

我正在開發一個wordpress插件,並且無法讓javascript文件運行。我的JavaScript文件看起來像這樣:包括一個JavaScript文件,當創建一個wordpress插件

<script> 

    jQuery(document).ready(function($) { 

     alert("Javascript is running"); 
    }); 

</script> 

這是在主插件php文件在那裏我試圖加載腳本代碼:

function super_plugin_scripts() { 

    wp_register_script('super_plugin_script', get_template_directory_uri().'js/super-plugin.js'); 
    wp_enqueue_script('super_plugin_script'); 
} 

add_action('wp_enqueue_scripts', 'super_plugin_scripts'); 

我也試圖運行這兩個報表初始化函數但沒有運氣。

+0

控制檯中顯示的任何內容是否無法加載? – Stewartside

+0

剛看過,get_template_directory返回主題的目錄,而不是插件,所以這可能是爲什麼它沒有找到它 – Mikey

+0

嘗試使用plugin_dir_path和plugin_url,但都沒有返回插件實際保存在文件夾的路徑。plugin_url返回wordpress文件結構中的插件文件夾 – Mikey

回答

0

您的JavaScript文件應該包含原始js代碼,並且沒有標記[so no <script> tag,but just it content]。

0

兩件事情:

  1. 確保路徑是正確的
  2. 確保jQuery是包含在你的WordPress,如果不添加此行wp_enqueue_script('jQuery');

這樣

function super_plugin_scripts() { 
     wp_register_script('super_plugin_script', get_template_directory_uri().'js/super- plugin.js'); 

     wp_enqueue_script('jQuery'); 
     wp_enqueue_script('super_plugin_script'); 
    } 
    add_action('wp_enqueue_scripts', 'super_plugin_scripts'); 
+0

時,你都需要改變文件夾名稱。如果我在頭文件中運行腳本,肯定會包含jQuery。它的PHP文件執行得很好。路徑也是正確的,嘗試在'js /'之前添加'/'並且仍然沒有運氣。 – Mikey

+0

我注意到你已經找到了解決你的問題的方法,好像路徑錯了以後:) –

0

這是一個插件,而不是一個主題,所以試試這個:

function super_plugin_scripts() { 

    wp_register_script('super_plugin_script', plugin_dir_url(__FILE__).'js/super-plugin.js'); 
    wp_enqueue_script('super_plugin_script'); 
} 

add_action('wp_enqueue_scripts', 'super_plugin_scripts'); 

plugin_dir_url要求你通過__FILE__,它應該找出路徑。

0

管理解決這個問題。使用plugins_url()函數,然後將插件的名稱附加到JavaScript文件路徑的前面,如下所示:

wp_register_script('super_plugin_script', plugins_url().'/super-plugin/js/super-plugin.js'); 

謝謝!