多次调用Wordpress init hook

多次调用Wordpress init hook,wordpress,themes,hook,init,Wordpress,Themes,Hook,Init,我重新安装了wordpress 3.0.4,并尝试编写一个简单的主题,只是为了尝试 在functions.php中,我创建了一个名为my_setup的函数,并将其连接到init。我注意到我的_setup()被多次调用,我尝试使用一个全局标志变量来控制函数的执行,但没有成功。如何确保我的函数只被调用一次 <?php // global variables $setup_run_before = 0; ?> <

我重新安装了wordpress 3.0.4,并尝试编写一个简单的主题,只是为了尝试

在functions.php中,我创建了一个名为my_setup的函数,并将其连接到init。我注意到我的_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');

      ?>

问候,, John Doe

功能我的设置(){
回声123.“
”; } 添加_操作(“初始化”、“我的_设置”);
我看到123只出现一次。Init不应运行多次,并且不会在我的安装上运行

不过我想你会在罗布的回答中找到你想要的线索


希望这会有所帮助。

您不会像调用init那样多次看到输出。Php可能在服务器上运行多次,但只输出一次代码。你的方法很好。但是试着用一个日志文件进行调试,您可能会得到另一个输出:file\u put\u contents('./log\u.date(“j.n.Y”)、.log、'foobar'.PHP\u EOL、file\u APPEND);
  function my_setup() {
         echo 123 . '<br />';   
  }       
  add_action('init', 'my_setup');