2017-08-09 15 views
1

WordPressのテーマで検索機能を使用していて問題が発生しました: 私はカスタムポストタイプとカスタム分類法を使用しています。私はこの影響をWordPressで検索するかどうかわからないのですか? name ="s"検索がWordPressで機能していない

マイクエリー検索でフォームのワードプレスで入力:私は$posts = new WP_Query($args);を削除して、ループ内で$postsを使用しない場合は

$paged = (get_query_var('page')) ? get_query_var('page') : 1; 
    $args = array(
     'post_type' => 'post', 
     'posts_per_page' => 5, 
     'paged' => $paged); 
     $posts = new WP_Query($args); 

検索は、通常の作業です。 そして、私のnaigationは次のとおりです。

paginate_links(array(
    'format' => '?page=%#%', 
    'current' => max(1, get_query_var('page')), 
    'total' => $posts->max_num_pages, 
    'prev_text' => __('Previous', 'extc'), 
    'next_text' => __('Next', 'extc') 
)); 
+0

これはWordPressに投稿されているはずです –

+0

https://codex.wordpress.org/Template_Tags/get_search_query – l2aelba

答えて

0

カスタムクエリを実行した後、あなたがオリジナルのポストデータを復元する必要があります。

wp_reset_postdata(); 

あなたはこれをやっている旨れていないと、これはあなたを引き起こしているように見えます$ post変数を使いこなすことによって問題が発生します。

$paged = (get_query_var('page')) ? get_query_var('page') : 1; 
$args = array(
    'post_type' => 'your_custom_post_type', 
    'posts_per_page' => 5, 
    'paged' => $paged, 
    'tax_query' => array(
     array (
      'taxonomy' => 'your_custom_taxonomy', 
      'field' => 'slug', 
      'terms' => 'your_custom_taxonomy_term', 
     ) 
    ) 
); 
$posts = new WP_Query($args); 

ます。また、カスタムのポストに分類を宣言する必要があります。

codex

+0

ありがとうございますが、動作しません。フィルタリングしない投稿、リスト投稿がいっぱいです。 –

+0

私の質問に間違いがあります。上記のコードを削除すると、動作しているので –

+0

クエリの後にメインループ結果をリセットしていますか? –

0

@Mr DIでそれをチェックアウトは、あなたがそうのようなあなたの引数の税クエリを含める必要が信じていますタイプの登録

0

仲間のおかげで助けてください。この問題は解決されました。クエリを次のように変更してみます:

$posts = new WP_Query(); 
$posts = $posts->query('post_type=post&s='.get_search_query().'&posts_per_page=5&paged='.$paged); 

素晴らしいです!再度、感謝します!