2011-01-17 4 views
2

Я сделал новую установку wordpress 3.0.4 и попытался написать простую тему только ради попытки.Wordpress init hook, вызываемый несколько раз

В функции.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'); 

     ?> 

С уважением, John Doe

ответ

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

я вижу 123 появляются раз только. Init не должен запускаться более одного раза и не выполняется при моей установке.

Однако, я думаю, вы найдете подсказку, которую вы ищете в ответ Роба на Wordpress why is the init hook invoked multiple times.

Надеюсь, что это поможет.

Смежные вопросы