WordPressでの検索における記事タイプの指定
WordPressでカテゴリ指定(cat=N)の検索をしても、記事、ページ両方検索してしまうようだ。
wp-includes/query.php の get_posts() 部分に、
if ( !isset($q['post_type']) ) { if ( $this->is_search ) $q['post_type'] = 'any'; else $q['post_type'] = ''; } $post_type = $q['post_type'];
というところがあるので、以下のようにしてみた。
<form method="post" action="<?php bloginfo('url'); ?>/"> <?php /* 検索したいカテゴリID,タイプ(post,page,any(default))を指定 */ ?> <input type="hidden" name="cat" value="1" /> <input type="hidden" name="post_type" value="post" /> <input class="searchbox" type="<?php the_search_query(); ?>" name="s" /> <input type="submit" value="<?php _e('Search'); ?>" /> </form>
post_typeには{page,post,any(default)}を指定できそう。