2

WordPressの検索を単一のカスタム投稿タイプに制限しようとしています。

post型変数を除いて、検索クエリのほとんどのパラメータを変更できるようです。

$query_args = explode("&", $query_string);
$search_query = array();

foreach($query_args as $key => $string) {
    $query_split = explode("=", $string);
    $search_query[$query_split[0]] = urldecode($query_split[1]);
}

$search_query['post_type'] = 'thread';

$search = new WP_Query($search_query);

このクエリは引き続きすべての投稿タイプを返します。ただし、「posts_per_page」などの別のパラメータを設定すると、正常に機能します。

どうしたの?検索クエリをカスタム投稿タイプに制限するにはどうすればよいですか?

ご協力いただきありがとうございます!

編集:ところで、私はWP3.4.2を使用しています

4

1 に答える 1

4

これをfunctions.phpファイルに配置します。:)

<?php
add_filter('pre_get_posts', 'filter_search_cpt_threads');
/** filter search for threads CPT */
function filter_search_cpt_threads($query)
{
    if( $query->is_search ) $query->set('post_type', array('thread'));

    return $query;
}
?>

一番!
R

于 2012-09-22T08:26:45.940 に答える