web-dev-qa-db-ja.com

Wordpressを使用して、タイプstdClassのオブジェクトを配列として使用することはできません。

wordpress投稿内のタグのスラッグを取得しようとしています。これで、すべてのタグ情報を取得できます

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

)

今私が欲しいのは次のような最初のアイテムのスラッグです

$tag[0]['slug']

ただし、そうすることで、このphpエラーを受け取ります。

タイプstdClassのオブジェクトを配列として使用できません

誰かが私がここで間違っていることを教えてもらえますか?そしてスラッグデータを取得するための最良の方法は何ですか

25
Ian

配列にはobjectsstdClassのインスタンス)が含まれ、他の配列は含まれないことに注意してください。したがって、構文は次のとおりです。

$tag[0]->slug
55
rid

別のオプションは、$ tag [0]を配列に明示的にキャストすることです:

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

それを機能させることはできません

3
itlunch