Как получить доступ к методам из плагина Wordpress на основе классов? - PullRequest
0 голосов
/ 30 сентября 2010

У меня есть плагин, который регистрирует тип сообщения, таксономию и обрабатывает некоторую бизнес-логику.

Я сделал свой отлично работающий плагин на основе OO, и теперь он работает только время от времени.

Его установка выглядит следующим образом:

    class Fruit {
       public function __construct() {
           add_action('init', array(&$this, 'init'));       
       }

       public function init() { 
           $this->the_apple();
       }


       public function the_apple() {
           return print $apple = 'my apple';
       }
    }

    $fruit = new Fruit();

Затем в taxonomy.php без цикла работает следующее:

$fruit->the_apple();

Но как только я использую get_template_part с loop.php, это больше не работает

$fruit->the_apple();

Я получаю следующее уведомление:

Notice: Undefined variable the_apple();

1 Ответ

0 голосов
/ 30 сентября 2010

Мое исправление состояло в том, чтобы использовать:

global $fruit;

, и теперь это работает постоянно, просто клянусь о глобалах, они получают плохую репутацию.и есть проблемы с пространством имен, наряду со сбросом всего в глобальные переменные по сравнению с использованием реестра.

В производстве я бы никогда не использовал имя $ fruit, вместо этого я бы назвал его

global $skylar_fruit;
...