いくつかの方法を試しましたがpost_types、検索結果からカスタムをフィルタリングできないようで、誰かが助けてくれることを望んでいました。
「ジョブマネージャー」をインストールし、カスタムのジョブを4つ作成しましたpost_type = 'jobman_job'
手動検索フォームを作成しての非表示値を設定しようとしましたpost_type = jobman_jobが、それでもすべての投稿が返されました。
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
<input type="text" name="s" id="s" value=""/>
<input type="hidden" name="post_type" value="jobman_job" />
<input type="submit" id="searchsubmit" value="Search" />
</form>
次に、カスタム検索ページを作成し、次のように検索をこのページにリダイレクトしてみました(つまり、page_id非表示フィールドを追加しました)。
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
<input type="text" name="s" id="s" value=""/>
<input type="hidden" name="page_id" value="123" />
<input type="hidden" name="post_type" value="jobman_job" />
<input type="submit" id="searchsubmit" value="Search" />
</form>
次に、カスタム検索ページで、次のコードを追加し(ワードプレスガイドに従って-http ://codex.wordpress.org/Creating_a_Search_Page ) 、クエリ配列にpost_typeofを追加しました。jobman_job
global $query_string;
$query_args = explode("&", $query_string);
$search_query = array('post_type' => 'jobman_job');
foreach($query_args as $key => $string) {
$query_split = explode("=", $string);
$search_query[$query_split[0]] = urldecode($query_split[1]);
} // foreach
$search = new WP_Query($search_query);
そして、それでもすべての投稿が表示されます...
私は何が間違っているのですか?post_typeテーブルの列を確認しましたwp_postsが、4つの一意のエントリがあります...それらはそこにあります...
洞察はありますか?