web-dev-qa-db-ja.com

投稿/カスタム投稿タイプおよびすべてのものに対して複数の検索機能を作成する

私は現在、WPサイトの検索機能に取り組んでいます。計画は単に記事を検索するニュースページに検索機能を持つことです。

これを達成するために、functions.phpファイルに以下を追加しています。

   /* search just posts */
function SearchFilter($query) {
  if ($query->is_search) {
  $query->set('post_type', 'post');
}
return $query;
}

 add_filter('pre_get_posts','SearchFilter');

これはうまくいきます。しかし。カスタム投稿タイプのリストで検索を作成する必要もあります。カスタム投稿だけで、サイト全体が404ページに掲載されるように検索する必要もあります。

どのようにこれについて大いに感謝するかについてのアイデアはありますか?

2
tbwcf

検索フィルタをこれに変更することができます。

function SearchFilter($query) {
$post_type = $_GET['post_type'];
if (!$post_type) {
    $post_type = 'any';
}
if ($query->is_search) {
    $query->set('post_type', $post_type);
};
return $query;
}  

add_filter('pre_get_posts','SearchFilter');

それからあなたのニュース検索フォームに以下を追加してください。

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

カスタム投稿タイプのリスト検索フォームに追加する

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

そしてサイト全体を検索するには、設定したものを何も追加しないでください。

4
Bainternet