質問: 閲覧ありがとうございます。 当方、Wordpress・php初心者です。 【実現したいこと】 検索フォームを作成し、カスタム投稿のみを表示したい。(通常の投稿=postを表示しないようにしたい) 【したこと】 以下のコードをsearchform.phpに記述しました。 googleで検索して、hidden属性でpost_typeを指定してあげればよいあったので、そのように実装したつもりです。 ``` KEYWORD ``` 【結果】 検索結果にカスタム投稿のみでなく通常の投稿(post)も検索結果一覧に表示されてしまいます。 検索結果画面のURLは以下のようになっています。 > > http://~~.jp/?post_type=test > > > また、テーマで用意されたページャーを利用しているのですが、その件数もpostを含んでいるようです。 どうすれば、検索結果をカスタム投稿のみにすることができるでしょうか? 誤りがありましたらご指摘願います。
回答: フィルターフックでどうぞ。 ``` function my_search_filter( $query ) { if ( $query->is_search ) { $query->set( 'post_type', 'test' ); } return $query; } add_filter( 'pre_get_posts', 'my_search_filter' ); ```