php – 'Cannot use object of type stdClass as array' using WordPress-ThrowExceptions

Exception or error:

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

How to solve:

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

$tag[0]->slug

Answer´╝Ü

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

Leave a Reply

Your email address will not be published. Required fields are marked *