2011-07-26 7 views
0

ので、私は、プラグインの私の最初のWordPressを開発していると私はいくつかの困難を持っています... 私はそれはオブジェクト指向のやっている...
、私が作成myClassの新しいインスタンスまた、ページが読み込まれるたびに、javascriptを起動します。このスクリプト登録は、すべてのページが読み込まれるconsole.logを取得するため動作します。次に、管理者が新しい投稿を公開(保存)し、私のpublish_post()メソッドを呼び出すと発生する 'publish_post'にアクションを登録します。
このメソッドは、投稿が公開されたときに呼び出されます。私はそれが2つの最初の行のコメントを外すと、sctiptは私のvar_dumpで死ぬので、それを知っています。
私の問題は、このメソッドでwp_enque_script()が動作していないことです。以下のために私のスクリプトは...
と呼ばれていないいくつかの理由はここにコードです:のWordPressのプラグインwp_enque_script()

<?php 
class myClass{ 
    function __construct(){  
     // hooks & filters.. 
     add_action('publish_post', array($this, 'publish_post')); 
     wp_enqueue_script( 
      'plugin', //$handle 
      plugins_url('/js/plugin.js', __FILE__)//$src 
     ); 
    } 

    function publish_post(){ 
     //global $wp_query; 
     //die(var_dump($wp_query)); 
     wp_enqueue_script( 
      'publish', //$handle 
      plugins_url('/js/publish.js', __FILE__)//$src 
     ); 
    } 
} 
/* Initialise outselves */ 
add_action('plugins_loaded', create_function('', 'global $myObject; $myObject = new myClass;')); 
?> 

誰もがなぜこれが起こっている任意のアイデアを持っていますか?高等学校

答えて

0

ちょうど同じ問題がありました。フックに追加する必要があります(例えばadmin_headフックで試してみましたが、動作しませんでしたので別のプラグインで見たのでinitを選んだので、うまく動作しています)

add_action('init', array($this, 'loadMyScripts')); 

とアクションによって呼び出される関数で:あなたを追加構築

public function loadMyScripts() 
{ 
wp_enqueue_script( 
      'publish', //$handle 
      plugins_url('/js/publish.js', __FILE__)//$src 
     ); 

} 
関連する問題