Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'Cannot use object of type stdClass as array' using Wordpress

Tags:

I am trying to retrieve the slug for a tag inside a wordpress post, now its possible to get all tag info using

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

More info on this on the Wordpress Docs

By using this you should get data returned like this...

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        )  ) 

Now what I want is the slug for the first item which should be as follows

$tag[0]['slug'] 

However by doing so I recieve this php error:

Cannot use object of type stdClass as array

Can someone tell me what I'm doing wrong here? and whats the best way to get the slug data

like image 841
Ian Avatar asked May 30 '11 02:05

Ian


2 Answers

Note that the array contains objects (instances of stdClass), not other arrays. So the syntax is:

$tag[0]->slug 
like image 121
rid Avatar answered Oct 11 '22 08:10

rid


Another option should be to explicitly cast $tag[0] into an array:

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

Can't get it to work though

like image 29
itlunch Avatar answered Oct 11 '22 10:10

itlunch