前提・実現したいこと
お世話になります。
WordPressで、あるカテゴリー記事で使用されているタグを
リスト化して表示したいと思っています。
最上位カテゴリーのタグのリスト化は問題無いのですが、
サブのカテゴリーがある場合、サブカテゴリーは表示できないので
サブカテゴリーのタグ(のID)を配列で取得し、
まとめて親カテゴリーのタグとして表示したいと考えています。
ただサブで使用されているタグは重複している場合もあるので、
サブの配列をひとつにまとめて、array_unique関数などで処理したいのですが
配列をひとつにまとめるところでつまづいています。
お知恵をお貸しいただけると幸いです。
発生している問題・エラーメッセージ
Fatal error: Uncaught Error: Unsupported operand types in 〜(以下ファイルパス、エラー箇所)
該当のソースコード
php
1//サブカテゴリーの取得 args省略 2$child_terms = get_terms( 'doctor-category', $child_args ); 3 4if ( $child_terms ) {//子カテゴリーありなら 5 6 foreach ( $child_terms as $c_term ) { 7 $c_term_id = $c_term->term_id; //子タームID 8 9 //タグリストセット 10 // 現在のタームに属する投稿のIDを配列で取得 //カスタムタクソノミー(カテゴリー) doctor-category 11 $post_ids = get_objects_in_term( $c_term_id, 'doctor-category' ); 12 13 // 現在のタームに属する投稿で利用しているタグのオブジェクトを取得 //カスタムタクソノミー(タグ)doctor-tag 14 $get_child_tags = wp_get_object_terms( $post_ids, 'doctor-tag' ); 15 16 $ch_arrayterm = []; 17 foreach ( $get_child_tags as $ch_tag ) { 18 19 $ch_arrayterm[] = $ch_tag->term_id; //登録タグIDの配列を作成 20 } 21 22 $ch_arraylist += $ch_arrayterm; // += で配列を結合…のはず。? 23 24 }//foreach終了 25 26 $ch_arraylist_all = $ch_arraylist; 27 28 var_dump( $ch_arraylist_all ); //←確認しようとするとエラーがでます 29
試したこと
$ch_arraylist += $ch_arrayterm; のところ、 += の代入演算子配列を結合させようとするのですが上記のようなエラーメッセージが出てしまいます。
[]= だと配列の入れ子になってしまいますし、foreachの繰り返し数もまちまちなのでarray_merge関数も難しいのではと思っていますがどうなんでしょうか?
補足情報(FW/ツールのバージョンなど)
wordpress vr5.6.1
php 7.4.12
回答1件
あなたの回答
tips
プレビュー