更新日:2022/07/20記事の一覧をターム情報で絞り込むといった動作をさせたいとき、タームの一覧をチェックボックスで表示したい場合があります。そんなときにさっと使えるサンプルコードを検討してみました。ラジオボタン版はこちら。セレクトボックス版はこちら。「get_terms」は引数に指定したタクソノミーのターム情報を配列形式で取得できる関数です。「get_terms」で取得した配列情報をforeach関数で一つずつ取り出してループさせます。サンプルコードでは「$term->slug」でチェックボックスのvalueにタームのスラッグを設定しています。チェックボックスは複数の項目を選べるため、チェックしたvalueの内容を配列形式で受け取る必要があります。name属性の末尾に[]をつけることで、チェック内容を配列情報として送信できます。[]がないとチェックした項目一つ分しか送信できません。取得したチェックボックスの値をクエリに反映させる上記サンプルコードでフォームの内容をGET送信したあと、チェックボックスに設定されたvalue(=タームのスラッグ)を使って記事の絞り込みを行う場合のサンプルコードもご紹介します。「$_GET['checkbox_xxx'])」に値が設定されている(=チェックボックスのデータがGET方式で渡されている)ときにだけ、「tax_query」の「terms」にセレクトボックスの値(スラッグ)を設定します。設定の際に「+=」の代入演算子を使うことで、状況に応じてパラメーターの有無を切り替えています。設定されたパラメーターで「WP_Query」を実行することで、選択されたチェックボックス(のタームスラッグ)に該当する記事絞り込まれて出力されます。ご質問など受け付けています記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。お問い合わせクリップボードにコピーしました当サイトについて。