WordPressでタイトルだけを検索して表示する方法
検索結果用の固定ページを用意する
ここでは説明しません。そんな難しくないのでぐぐってね。 あと、パーマリンクを決めてあげる。※今回は「s」にしました。
用意した固定ページにコードを用意
あんまり良いコードではない(確信)だけど、これでいける。
あとパラメータが増えた場合とかで拡張もしやすいと思う。
<?php $_query_string = $_SERVER['QUERY_STRING']; $query_args = explode("&", $_query_string); $search_query = ''; foreach($query_args as $key => $string) { $query_split = explode("=", $string); $keyword = urldecode($query_split[1]); if ($search_query === '') { $search_query = $keyword; } else { $search_query = $search_query . ' ' . $keyword; } } query_posts(array( 'post_type' => 'listing', 's' => $search_query )); <?php if(have_posts()) : ?> <?php while(have_posts()):the_post() ?> <a href="<?php the_permalink(); ?>"> <?php endwhile; ?> <?php endif;?> ?>
formの用意
あとはform
を用意してあげれば良い。クエリパラメータでs
やsearch
をkeyにしてしまうと、WordPressの標準の検索が動いてしまうので、それ以外にする。
<form method="get" action="<?php echo home_url('/') . 's/'; ?>"> <input type="text" placeholder="検索" name="cs"> <input type="submit" value=""> </form>