WordPressで検索結果をカテゴリやタグで絞り込むURLパラメータを使った方法
WordPressでは標準で検索機能が付いていますが、それを応用した使い方で特定のカテゴリなどに絞り込む方法が行えます今回はその方法を紹介致します。
WordPressでURLパラメータを使って絞込
基本的には https://9-bb.com/ といったURLのあとに?と&を使ってパラメータを付け足していきます。そうすることで検索結果をコントロールすることが出来ます。
例えば通常のワード検索では https://9-bb.com/?s=検索ワード といった具合になります。
これに&でパラメータを追加して結果を細かく絞り込むことが可能で、PHPを書いたりプラグインを導入したんくてもURLパラメータでカテゴリ内やタグ内でのOR検索などはリンクボタン化するか、フォームかすることで実装出来てしまいます。
Aカテゴリ内でキーワード検索する場合のパラメータ
?s=検索ワード&cat=1
s= は検索ワード
cat= はカテゴリIDになります、複数カテゴリIDを指定する場合はカンマで区切り cat=1,2,3 の様に出来る。
AカテゴリもしくはBタグ内でキーワード検索
?s=検索ワード&cat=1&tag_id=2
タグの場合は tag= ではタグのスラッグ名になります、IDを指定してい場合は tag_id= となる。
AカテゴリもしくはBタグで並び順を指定する
?cat=1&tag_id=2&order=ASC&orderby=date
orderとorderbyを使って並びの基準と降順昇順を決めて表示することが出来る。
その他にも色々使えるパラメータがあり
こちらのページのPublicにあるのがURLパラメータで利用できるものとなっている。Privateの方は一般的にアクセス出来ない権限のクエリでPHP内部で実行するものとなっている。
使えるパラメータ
$public_query_vars = array(‘m’, ‘p’, ‘posts’, ‘w’, ‘cat’, ‘withcomments’, ‘withoutcomments’, ‘s’, ‘search’, ‘exact’, ‘sentence’, ‘debug’, ‘calendar’, ‘page’, ‘paged’, ‘more’, ‘tb’, ‘pb’, ‘author’, ‘order’, ‘orderby’, ‘year’, ‘monthnum’, ‘day’, ‘hour’, ‘minute’, ‘second’, ‘name’, ‘category_name’, ‘tag’, ‘feed’, ‘author_name’, ‘static’, ‘pagename’, ‘page_id’, ‘error’, ‘comments_popup’, ‘attachment’, ‘attachment_id’, ‘subpost’, ‘subpost_id’, ‘preview’, ‘robots’, ‘taxonomy’, ‘term’, ‘cpage’, ‘post_type’);
それぞれ=の後に入る値の使い方としては、WP Queryのところに準拠する。ただしパラメータ値にはarrayとなるものは使えない。
COMMENT