【WordPress】検索をカスタマイズ

電脳備忘録

Search Everythingプラグインを導入する。

すべてのカスタムフィールドを検索:「Yes」
検索窓をサイドバーに埋め込む

<form method="get" action="<?php bloginfo('url'); ?>/">
<input type="text" name="s">
<input type="submit" value="検索">
</form>

今回は検索は特定のカスタム投稿タイプにのみ有効にさせたかかったので下記のように設定しました。

<?php /* Start the Loop */ ?>
<?php
global $query_string;
query_posts($query_string . "&post_type=event");
?>
<?php while ( have_posts() ) : the_post(); ?>

post_type=event"のeventの部分を指定したいカスタム投稿タイプ名を設定します。
これでカスタム投稿タイプeventから投稿した記事に対してのみ検索が有効になりました。

指定したカスタムポストタイプのみ検索結果に表示させる

WordPressのメモ

後から知ったのですが、function.phpのカスタム投稿タイプを設定した個所に下記の一文を追加してあげると、検索から除外できるようです。 どちらかというとこっちのほうが想定していた仕様に近かったので、これで対応しました。

検索結果から特定のカスタム投稿タイプのみ除外する方法について

検索結果から特定のカスタム投稿タイプのみ除外する方法について

register_post_type の引数において、

'exclude_from_search' => true

を追加すれば除外できると思います。

検索結果からこの投稿タイプを除外する(exclude_from_search=true)

関数リファレンス/register post type

広告

ブログの維持費に充てるでございます・・・。