絞込み検索(詳細検索)であれば、mizさんの書かれているやり方が良いとおもいます。search.php自体のクエリを上書きしてしまうと、通常の検索ができなくなったりする可能性があるので、あまりお勧めしません。
「うまく取得できません」がどのような状況かがわかりませんが、tag_id
が 1
の記事が無いだけではないでしょうか。タグのスラッグで指定する方法などもありますので、下記記事などを御覧ください。
【これは便利!WordPressのWP_Queryでよく使うコードスニペット | それからデザイン スタッフブログ】
http://sole-color-blog.com/blog/php/265/
PHP
1 // ↓ 特定の「カテゴリー」に関連付けられた投稿を表示する場合
2 'cat' => 5, // カテゴリーIDを指定
3 'category_name' => 'daily, news', // カテゴリースラッグを指定(複数の場合は「,」で区切る)
4 'category__and' => array( 2 , 6 ), // カテゴリーIDを配列で指定(カテゴリーIDを含む記事を絞り込む)
5 'category__in' => array( 2 , 6 ), // カテゴリーIDを配列で指定(カテゴリーIDを含む記事を絞り込む)
6 'category__not_in' => array( 2 , 6 ), // カテゴリーIDを配列で指定(カテゴリーIDを含まない記事を絞り込む)
7
8 // ↓ 特定の「タグ」に関連付けられた投稿を表示する場合
9 'tag' => 'cooking', // タグスラッグを指定
10 'tag_id' => 5, // タグIDを指定
11 'tag__and' => array( 2 , 6 ), // タグIDを配列で指定(タグIDを含む記事を絞り込む)
12 'tag__in' => array( 2 , 6 ), // タグIDを配列で指定(タグIDを含む記事を絞り込む)
13 'tag__not_in' => array( 2 , 6 ), // タグIDを配列で指定(タグIDを含まない記事を絞り込む)
14 'tag_slug__and' => array( 'red', 'blue' ), // タグスラッグを配列で指定(タグスラッグを含む記事を絞り込む)
15 'tag_slug__in' => array( 'red', 'blue' ), // タグスラッグを配列で指定(タグスラッグを含む記事を絞り込む)
カスタムタクソノミーなら tax_query
を使えば良いと思います。下記例では query_posts
を使っていますが、WP_Query
と同じ引数が使えるので、頭の中で置き換えて参考にしてください。
【query_posts(WP_Queryクラス)で投稿タグを絞り込む:WordPress私的マニュアル】
http://elearn.jp/wpman/column/c20110907_01.html
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。