3

wordpress 3.0.4 を新規インストールし、試しに簡単なテーマを作成してみました。

functions.php で、my_setup という関数を作成し、それを init に接続しました。my_setup() が複数回呼び出されていることに気付き、グローバルフラグ変数を使用して関数の実行を制御しようとしましたが、役に立ちませんでした。関数が 1 回だけ呼び出されるようにするにはどうすればよいですか?

       <?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');

      ?>

よろしく、ジョン・ドウ

4

1 に答える 1

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

123が1回だけ表示されます。Initは複数回実行するべきではなく、私のインストールでは実行されません。

ただし、RobのWordpressへの回答で探している手がかりが見つかると思います。なぜinitフックが複数回呼び出されるのですか。

お役に立てば幸いです。

于 2011-01-18T19:34:49.920 に答える