2016-11-04 14 views
0

私はループを作成し、投稿者の役割で投稿を照会し、著者の役割に基づいて検索用語の結果を表示します。カスタム投稿のクエリは、Wordpressループの元の検索用語を破ります

私がクエリを適用すると、返された投稿は元の検索語ではなくユーザーの役割になります。

これは私のクエリとループです。

$ids = get_users(
     array(
      'role' => 'administrator' , 
      'fields' => 'ID' 
      ) 
    ); 


    $query = new WP_Query( 
     array( 
      'author__in' => $ids, 
     ) 
    ); 


     // If the query has data 
     if($query->have_posts()) : 

       // Post loop 
       while ($query->have_posts()) : 

        // Setup post data 
        $query->the_post(); 
        ?> 

        <!-- Do HTML markup and template tags here, eg. the_content(), the_title() etc.. --> 
        <h1>You're a post from administrator - <?php the_title(); ?></h1> 


        <?php get_template_part('template-parts/content', 'search'); ?> 

        <?php 
       endwhile; 

     // End "If the query has data" 
     endif; 

これは私のsearch.phpページにある...私は、ユーザーのタイプ '管理者のこれらの記事のいずれかから発行され2つのポストを持っているのであれば、たとえば「イングランドでタグ付けされ

と他の人はそうではありません - 私は検索フォームに行き、 'England'に入ると、私はこのコードがその2つのうち1つの投稿を表示すると期待しますが、そうではありません。

したがって、ユーザータイプ「管理者」のすべての投稿を表示し、検索語句を無視するだけです。

私はそのような理由は考えていません。私の考えでは、誰かがアドバイスを持っているか、正しい方向に私を指すことができれば、このコードはうまくいくはずです!

答えて

1

カスタムループを作成しているため、検索語句をクエリargsに追加する必要があります。

$query = new WP_Query( 
     array( 
      'author__in' => $ids, 
      's' => $_GET['s'] 
     ) 
    ); 
+0

あなたは美しいものです。 プラグをまっすぐにしてください - すべてのものが治療のように機能します、ありがとうございます! –

関連する問題