2016-11-04 5 views
0

投稿者の役割で投稿を投稿してループを作成します。著者の役割に基づいて検索語句の結果を表示します。Wordpressでループにカスタムクエリをフックする方法

私は、クエリのwhere句変更する機能を作成しようとしました:

    $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; 

私はループにWP_Queryを追加しようとしているのが、これは私がによってフィルタリング得ていない結果と動けなくなるところであります私はかなり間違っていると思います。私はこのようなことをやろうとしたのは初めてです。ダンプの質問であれば申し訳ありませんが、私の質問に対する答えを見つけることはできません。素晴らしい方向に私を指差してください!

何かアドバイス歓迎、ありがとうございました!

答えて

1

あなたはposts_where フックを試すことができます。

UPDATE:あなたの代わりにフックデフォルトWP_Query author引数を使用していないのはなぜ

。 あなたのクエリは次のようになります。

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

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

私はちょうど私の質問を更新しました - この「posts_whereは、」私は後だ、まさにように見えますが、私はまだ結果を得るんだと私はそれが間違って実装していると思います。 ..私はアップ読み、私は新たな情報:)これは後に私は正確に何のように見える –

+0

私のエラーを見つけることができるかどうかがわかります - 「私はまだすることができように私は私の質問を更新しました私は何か愚かなことをしたのだろうかと疑問に思って働くようにしてください –

+0

に基づいて、私のコメントを更新した –

関連する問題