Looping through tabular data

时间:2013-06-16 作者:mantis

我试图创建一个包含两个不同循环结果的信息的表。第一个循环遍历自定义帖子类型列表以显示团队名称。另一个是提供关于每个团队的数据,并存储为元数据。所以我想我需要某种方法来构造一个双查询,以便创建一个循环。这就是我目前的情况:

$team = new WP_Query(array(\'post_type\' => \'team_page\') ); 

$args = array(
       \'post_type\' => \'match_report\',
       \'meta_query\' => array(
         \'relation\' => \'OR\',
          array(
             \'key\' => \'report_home-select\',
             \'value\' => $team->post->ID,
             \'compare\' => \'=\',
          ),
          array(
             \'key\' => \'report_away-select\',
             \'value\' => $team->post->ID,
             \'compare\' => \'=\'
          )
       )                                  
     );

    $my_query = new WP_Query($args); 
    $played = $my_query->post_count;

if ( $team->have_posts() ) {
while ( $team->have_posts() ) {
    $team->the_post();
?>
                    <tr>

                        <td class="teamname"><?php the_title(); ?></td>

                        <td><?php echo $played;?></td>

                        <td>9</td><!-- won -->

                        <td>0</td><!-- draw -->

                        <td>2</td><!-- lost -->

                        <td class="goalinfo"></td><!-- goals for -->

                        <td class="goalinfo">10</td><!-- goals against -->

                        <td class="goalinfo">33</td><!-- goal difference -->

                        <td class="total">27</td><!-- goal total -->
                    </tr>

 <?php } ?>

2 个回复
最合适的回答,由SO网友:mantis 整理而成

我确实找到了这个问题的答案,所以我将把它留给子孙后代(因为我对自己很满意;)

$team = new WP_Query(array(\'post_type\' => \'team_page\') ); 
$i=0;

if ( $team->have_posts() ) {
while ( $team->have_posts() ) { 
    $team->the_post();

$args = array(
       \'post_type\' => \'match_report\',
       \'meta_query\' => array(
         \'relation\' => \'OR\',
          array(
             \'key\' => \'report_home-select\',
             \'value\' => $team->posts[$i]->ID,
             \'compare\' => \'=\',
          ),
          array(
             \'key\' => \'report_away-select\',
             \'value\' => $team->posts[$i]->ID,
             \'compare\' => \'=\'
          )
       )                                  
     );

    $reports = new WP_Query($args); 
    $played = $reports->found_posts;
    $i++;       
?>  
最大的问题是第二个查询在循环之外。我希望这对某人有帮助。

SO网友:stellarcowboy

这里最大的问题是在两组不同的数据之间进行同步。这看起来是@scribu的一个很好的用例Posts2Posts plugin.

一旦安装了它,就可以在不同的帖子类型之间创建直接关联并查询该连接。

结束

相关推荐

Separate table or usermeta

我们正在为用户创建自定义字段,如年收入、性别、城市、国家等。大约有10多个新字段。我们将在一个月内通过CSV导入功能为每个用户导入大约30000条记录。旧记录将有新记录和更新记录。这一进程将持续一年。在这种情况下,请建议从中选择哪个选项场景1:使用这些新字段创建一个新的WordPress表场景2:使用wp\\u usermeta添加自定义字段除了CSV导入之外,我们还将定期提取用户的报告。这将使wp\\u usermeta表保持忙碌。请建议我们应该采取哪种方案以及为什么?我的建议是使用场景1,因为在这里我