Невозможно установить свойство объекта со списком категорий Woocommerce, говорит NULL - PullRequest
0 голосов
/ 01 марта 2020

У меня есть класс ниже, который получает список категорий продуктов. Когда я пытаюсь установить prop $ cat_list тем же методом, я получаю NULL для var_dump в prop. Кто-нибудь может понять почему?

Если я устанавливаю переменную в области видимости метода collate_cats, тогда я могу var_dump, он содержит то, что должен, но я не могу установить реквизит, используя тот же код.

class HwdmMain {

    private $pluginloc;

    //if required, this can hold the list of categories obtained
    public $cat_list = [];

    public function __construct()
    {
        $this->set_pluginloc(site_url());
    }

    private function set_pluginloc ($url) {
        $this->pluginloc = $url;
    }

    public function plugin_hooks() {
        add_action('init', [$this, 'collate_cats'], 15);
    }

    public function collate_cats () {
        $args = array(
            'taxonomy'      => 'product_cat',
            'hide_empty'    => false,
            'parent'        => 0
        );

        $c = get_categories($args);
        $this->cat_list = $c;
    }



} //closes the class

1 Ответ

0 голосов
/ 01 марта 2020

Я понял это. Если я избавлюсь от метода plugin_hooks и вместо этого создаю экземпляр класса в init, тогда метод collate_cats работает и устанавливает подходящую опору. Я предполагаю, что это как-то связано с тем, на какой стадии существуют вещи в течение жизненного цикла wordpress.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...