2016-11-04 75 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页...

因此,举例来说,如果我有一个从用户类型“管理员”的职位之一出版了两帖被打上“英格兰”和其他不是 - 所以当我去搜索表单并输入'英格兰'时,我希望这个代码显示这两个帖子中的一个,但它不显示这两个。

所以这似乎是刚刚从用户类型“管理员”显示所有文章,而忽略了搜索词。

我有不知道为什么是这样的话,在我的脑海这段代码也应如此工作,如果任何人有任何意见或可以点我这将是伟大正确的方向!

回答

1

您正在创建一个自定义的循环,所以你需要添加搜索词回询问参数。

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

你的先生是一个美丽的东西。 塞直它 - 整件事情像一种享受,谢谢! –