Wordpress query_posts在另一个循环内循环,结果无法解决

时间:2015-01-19 07:15:30

标签: php mysql wordpress

我正在尝试构建一个从两个不同post_types中获取信息的查询。我有Q& A视频和律师事务所。这些是通过Wordpress插件通过自定义帖子类型管理器(CCTM)进行设置。当Law Firms注册时,我有一个不同类型的律师事务所。但在某些时候,我们让人们在Q& A视频部分提出问题,律师事务所将回答这些问题,当他们这样做时,他们将从律师事务所选择的自定义字段下拉列表中选择他们的名字。

这个代码几乎与这个代码完全相同,在Single-QAVideos.php页面中效果很好。但它实际上有一个唯一的页面标识符。下面的代码没有唯一的页面标识符,因为我正在尝试构建它以显示最新的答案。但由于某种原因,Loop内的循环无法正常工作。如果我运行它,我得到它忘记每页第一个查询列表5。此查询仅运行并显示一个。我需要它显示尽可能多的第一个查询将允许哪个是5.如果您在下面的编码中看到任何错误,就语法而言,您可以告诉我。我现在无法访问实际查询,我在下面重新输入了类似的查询。任何人都可以帮忙吗?

 <?php

 //Retrieve a List of (5) Q&A Videos 
 $args = array(
    'posts_per_page' => 5,
    'post_type' => 'qavideos'
 );
 query_posts( $args );

 //Start Q&A Video Loop
 while (have_posts()) : the_post();

      //Get the title of each
      $qatitle = get_the_title();

      //Get the Law Firm ID from the Law Firm Selection Dropdown Custom Field
      $lawfirmid = get_custom_field('lawfirmselection');

      //Start New Query - get law firm information associated with this post
       $argstwo = array(
        'posts_per_page' => 1,
        'post_type' => 'lawfirm',
         'meta_query' = array(
            'key' => 'ID',
          'value' => $lawfirmid
       )
      );
      query_posts( $argstwo );


      while (have_posts()) : the_post();

     $lawfirmname = get_the_title();
     $lawfirmstate = get_custom_field('state');

      endwhile;
      wp_reset_query();

//Start Displaying The Information Grabbed and Placed in Variables
 ?>
     <div class="lawinfo">
       <h1><?php echo $qatitle; ?></h1>
         <ul>
                <li><?php echo $lawfirmname; ?></li>
                <li><?php echo $lawfirmstate; ?></li>

        </ul>
     </div>
 <?php

 endwhile;
 wp_reset_query();

 ?>

内环更新的工作代码:

  //Search Post Type Law Firms to Get Law Firm Info
  $argse  =  array('page_id' => $lawid, 'post_type' => 'law_firms');

   $posts_array = get_posts( $argse );
   foreach($posts_array as $postn)  
    {
      $lname = $postn->post_title;
      $lstate  = get_post_meta($lawid, 'state', true);
     }

1 个答案:

答案 0 :(得分:1)

这是内环的工作代码

  //Search Post Type Law Firms to Get Law Firm Info
  $argse  =  array('page_id' => $lawid, 'post_type' => 'law_firms');

   $posts_array = get_posts( $argse );
   foreach($posts_array as $postn)  
    {
      $lname = $postn->post_title;
      $lstate  = get_post_meta($lawid, 'state', true);
     }