web-dev-qa-db-ja.com

カスタム投稿タイプのみを検索する簡単な方法

現在の検索バーを絞り込んで、自分の「イベント」カスタム投稿タイプ内でのみ検索するようにしています。

他の種類の投稿にはインデックスを付けず、「イベント」だけにします。

これが検索バーです。

<form id="searchform" action="http://localhost:8888/ltc" method="get">
        <input class="inlineSearch" type="text" name="s" value="Enter a keyword" onblur="if (this.value == '') {this.value = 'Enter a keyword';}" onfocus="if (this.value == 'Enter a keyword') {this.value = '';}" />
        <input class="inlineSubmit" id="searchsubmit" type="submit" alt="Search" value="Search" />
    </form>

そしてsearch.php:

<?php if ( have_posts() ) : ?>
            <h1><?php printf( __( 'Search Results for: %s', 'twentyten' ), '' . get_search_query() . '' ); ?></h1>
            <?php
            /* Run the loop for the search to output the results.
             * If you want to overload this in a child theme then include a file
             * called loop-search.php and that will be used instead.
             */
             get_template_part( 'loop', 'search' );
            ?>

(私は最初にインデックスを正しくしたいだけなので、私はまだデフォルトのsearch.phpページをまだ編集していません)

ありがとう

3
remi90

カスタム投稿タイプを検索するには、&post_type=eventsクエリに追加します。これを実現するには、フォームを次のように編集します。

<form id="searchform" action="http://localhost:8888/ltc" method="get">
        <input class="inlineSearch" type="text" name="s" value="Enter a keyword" onblur="if (this.value == '') {this.value = 'Enter a keyword';}" onfocus="if (this.value == 'Enter a keyword') {this.value = '';}" />
        <input type="hidden" name="post_type" value="events" />
        <input class="inlineSubmit" id="searchsubmit" type="submit" alt="Search" value="Search" />
</form>

あなたはどんな種類の投稿に対してもこれを行うことができ(既存のものである必要があるか破棄されるでしょう)そして丁度うまくいくでしょう

9
hacksy

カスタム投稿を検索するには、投稿タイプを値セクションに入力するだけです。
ex:私のカスタム投稿タイプは "blogpst"です。 2番目の入力フィールドで実際に何をしたのか見てみましょう

<input type="hidden" name="post_type" value="blogpst" />

見て、私がやったこと。値のセクションに投稿タイプを入れただけです。

0
Mohammad Asif

Hansyと一緒にタグ付けするには、ここに私の投稿をチェックしてください: ページ上にある場合のみページを検索します ラジオチェックボックスを使ってユーザーに検索したいもののオプションを与えます。

0
Brian Fegter