'使用Wordpress不能使用stdClass类型的对象作为数组'

时间:2011-05-30 02:04:42

标签: php arrays wordpress tags

我正在尝试在wordpress帖子中检索标签的slug,现在可以使用

获取所有标签信息
$tag = wp_get_post_tags($post->ID);

Wordpress Docs

上的更多相关信息

通过使用它,你应该得到像这样返回的数据......

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
       )

)

现在我想要的是第一个项目的slug应该如下

$tag[0]['slug']

但是通过这样做我收到了这个php错误:

  

不能使用stdClass类型的对象   阵列

有人能告诉我这里我做错了什么吗?以及获取slu data数据的最佳方法

2 个答案:

答案 0 :(得分:55)

请注意,该数组包含对象stdClass的实例),而不包含其他数组。所以语法是:

$tag[0]->slug

答案 1 :(得分:3)

另一个选择应该是将$ tag [0]显式地转换为数组:

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

无法让它工作