Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Wordpress init hook called multiple times

I did a fresh installation of wordpress 3.0.4 and attempted to write a simple theme for just the sake of trying.

In functions.php, I created a function called my_setup and hooked it up to init. I noticed that my_setup() is called multiple times and I tried to use a global flag variable to control the execution of the function but to no avail. How do I ensure that my function is only called once?

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

      ?>

Regards, John Doe

like image 441
John Doe Avatar asked Mar 12 '26 22:03

John Doe


1 Answers

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

I see 123 appear once only. Init should not run more than once, and does not on my installation.

However i think you'll find the clue you're looking for in Rob's Answer to Wordpress why is the init hook invoked multiple times.

Hope that helps.

like image 180
t31os Avatar answered Mar 15 '26 05:03

t31os