※Wordpress3を使用しています。
テキスト検索
まずは、普通のテキストのみの検索です。
wp template
<div id="search"> <form method="get" action="<?php bloginfo( 'url' ); ?>"> <input name="s" id="s" type="text" /> <input id="submit" type="submit" value="検索" /> </form> </div>
これで「search.php」を作成して適当にループさせるだけで該当した記事が表示されますよね。
カテゴリーを絞り込み検索
カテゴリーをドロップダウンで表示して絞込み検索をできるようにします。
「●●カテゴリー」の「hoge」を検索といった感じですね。
wp template
<div id="search">
<form method="get" action="<?php bloginfo( 'url' ); ?>">
<input name="s" id="s" type="text" />
<?php wp_dropdown_categories('depth=0&orderby=name&hide_empty=1&show_option_all=カテゴリー選択'); ?>
<input id="submit" type="submit" value="検索" />
</form>
</div>
テキストフィールドの後に「wp_dropdown_categories」を追加するだけです。
タグを絞り込み検索
さらにタグを絞り込み検索してみます。
方法は同じですが、タグにはカテゴリーのようなドロップダウンリストを作成する機能がないので、地味に表示します。
wp template
<div id="search">
<form method="get" action="<?php bloginfo( 'url' ); ?>">
<p>検索</p>
<input name="s" id="s" type="text" />
<?php wp_dropdown_categories('depth=0&orderby=name&hide_empty=1&show_option_all=カテゴリー選択'); ?>
<?php $tags = get_tags(); if ( $tags ) : ?>
<select name='tag' id='tag'>
<option value="" selected="selected">タグ選択</option>
<?php foreach ( $tags as $tag ): ?>
<option value="<?php echo esc_html( $tag->slug); ?>"><?php echo esc_html( $tag->name ); ?></option>
<?php endforeach; ?>
</select>
<?php endif; ?>
<input id="submit" type="submit" value="検索" />
</form>
</div>
追加されたのは6~13行目ですね。
これでタグでの検索できるようになります。
参考サイト
WordPress Searching By Category
WordPress › フォーラム » タグクラウドをドロップダウンメニュー化したい

