2011-01-17 20 views
2

私はwordpress 3.0.4の新インストールを行い、試してみるために簡単なテーマを作成しようとしました。Wordpressのinitフックが複数回呼び出されました

functions.phpでは、my_setupという名前の関数を作成し、それをinitにフックしました。私は、my_setup()が複数回呼び出されていることに気付きました。グローバルフラグ変数を使用して関数の実行を制御しようとしましたが、無駄にしました。私の機能が一度だけ呼び出されるようにするにはどうすればよいですか?

 <?php 
     // global variables 
     $setup_run_before = 0; 
     ?> 

     <?php 

     function my_setup() { 
       global $setup_run_before, $a; 
       if($setup_run_before == 0) { 
         $setup_run_before = 1; 
// this section is always called even with global variable. 
       }  
     }  





     ?> 

     <?php 
     add_action('init', 'my_setup'); 

     ?> 

よろしく、 ジョン・ドウ

答えて

1
function my_setup() { 
     echo 123 . '<br />'; 
    }  
    add_action('init', 'my_setup'); 

私は123がのみ一度表示されます参照してください。 Initは複数回実行するべきではなく、私のインストール時には起動しません。

しかし、私はあなたがRobの答えで探している手がかりがWordpress why is the init hook invoked multiple timesにあると思います。

希望に役立ちます。

関連する問題