«Невозможно использовать объект типа stdClass как массив» с использованием Wordpress - PullRequest
25 голосов
/ 30 мая 2011

Я пытаюсь получить слаг для тега внутри поста WordPress, теперь можно получить всю информацию о тегах, используя

$tag = wp_get_post_tags($post->ID);

Подробнее об этом на Документах Wordpress

Используя это, вы должны получать данные, возвращаемые следующим образом ...

Array
(
   [0] => stdClass Object
       (
           [term_id] => 4
           [name] => tag2
           [slug] => tag2
           [term_group] => 0
           [term_taxonomy_id] => 4
           [taxonomy] => post_tag
           [description] => 
           [parent] => 0
           [count] => 7
       )

   [1] => stdClass Object
       (
           [term_id] => 7
           [name] => tag5
           [slug] => tag5
           [term_group] => 0
           [term_taxonomy_id] => 7
           [taxonomy] => post_tag
           [description] => 
           [parent] => 0
           [count] => 6
       )

)

Теперь я хочу слизень для первого предмета, который должен быть следующим:

$tag[0]['slug']

Однако при этом я получаю эту ошибку php:

Невозможно использовать объект типа stdClass как массив

Может кто-нибудь сказать мне, что я здесь делаю не так? и каков наилучший способ получить данные пули

Ответы [ 2 ]

55 голосов
/ 30 мая 2011

Обратите внимание, что массив содержит объектов (экземпляры stdClass), а не других массивов.Таким образом, синтаксис:

$tag[0]->slug
3 голосов
/ 27 июня 2012

Другим вариантом должно быть явное приведение $ tag [0] в массив:

$t = (array)$tag[0];
$t["slug"] = ...

Не могу заставить его работать, хотя

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