2016-11-04 72 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 ARG代替掛鉤。 您查詢的是:

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

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

我剛剛更新了我的問題 - 這個「posts_where」看起來正是我之後我,但我想我實現它錯了,因爲我仍然沒有得到結果。 ..我會閱讀,看看我是否可以發現我的錯誤 –

+0

我已經更新我的意見,根據新的信息:) –

+0

這看起來就像我後 - 我已經更新了我的問題,因爲我仍然可以' t讓它工作,所以想知道如果我做了一些愚蠢的事情 –