Php 如何分割自定义post类型循环的数据输出

Php 如何分割自定义post类型循环的数据输出,php,wordpress,for-loop,split,wordpress-theming,Php,Wordpress,For Loop,Split,Wordpress Theming,如何在自定义post类型循环中拆分值,以便标题位于第一个循环中,在第一个DIV中输出,内容位于第二个循环中,在第二个DIV中输出?两个循环可能不是最好的方法,我不知道。有人向我提到一个循环,然后存储在字符串中,然后拆分字符串。我也不知道怎么做 我还需要一个新的行开始,一旦数量的职位达到5 这是我的PHP循环 <?php $custom_query = new WP_Query( $custom_args ); query_posts(array( 'post_type' =>

如何在自定义post类型循环中拆分值,以便标题位于第一个循环中,在第一个DIV中输出,内容位于第二个循环中,在第二个DIV中输出?两个循环可能不是最好的方法,我不知道。有人向我提到一个循环,然后存储在字符串中,然后拆分字符串。我也不知道怎么做

我还需要一个新的行开始,一旦数量的职位达到5

这是我的PHP循环

<?php
  $custom_query = new WP_Query( $custom_args );
  query_posts(array( 'post_type' => array('team')) ); 

  if ( $custom_query->have_posts() ) : 
  /* Start my loop */
    while ( $custom_query->have_posts() ) : $custom_query->the_post();
      echo "<div>". the_title(); . "</div>";
      echo "<div>". the_content(); . "</div>";
    endwhile;
  endif;
?>

我正在寻找的HTML输出如下

<div class"row">
  <div class="container">
    <div class="title chris"></div>
    <div class="title darren"></div>
    <div class="title ryan"></div>
    <div class="title john"></div>
    <div class="title emma"></div>
  </div>
  <div class="container">
    <div class="title chris"></div>
    <div class="title darren"></div>
    <div class="title ryan"></div>
    <div class="title john"></div>
    <div class="title emma"></div>
  </div>
</div>
<div class"row">
  <div class="container">
    <div class="title chris"></div>
    <div class="title darren"></div>
    <div class="title ryan"></div>
    <div class="title john"></div>
    <div class="title emma"></div>
  </div>
  <div class="container">
    <div class="title chris"></div>
    <div class="title darren"></div>
    <div class="title ryan"></div>
    <div class="title john"></div>
    <div class="title emma"></div>
  </div>
</div>
<div class"row">
  <div class="container">
    <div class="title chris"></div>
    <div class="title darren"></div>
    <div class="title ryan"></div>
    <div class="title john"></div>
    <div class="title emma"></div>
  </div>
  <div class="container">
    <div class="title chris"></div>
    <div class="title darren"></div>
    <div class="title ryan"></div>
    <div class="title john"></div>
    <div class="title emma"></div>
  </div>
</div>

伪代码…

$team; // array
$avatar = '';
$memberinfo = '';
foreach ($team as $member){
    $avatar .= '<div>'. $member->avatar .'</div>';
    $memberinfo .= '<div class="content">'. $member->memberinfo .'</div>';

    if($newRow){
        echo $avatar;
        echo $memberinfo;
    }
}
$team;//排列
$avatar='';
$memberinfo='';
foreach($团队成员){
$avatar.=''.$member->avatar';
$memberinfo.=''.$member->memberinfo';
如果($newRow){
回声$avatar;
echo$memberinfo;
}
}

你能试试这个代码吗

<?php
/* To get current page from query var */
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array('post_type' => array('post'),'posts_per_page' => -1,'paged' => $paged);

 /* Create custom WP_Query */
$custom_query = new WP_Query( $args );
$post_ids = array();
if ( $custom_query->have_posts() ) {
    /* the wordpress loop */
    while ( $custom_query->have_posts() ) : $custom_query->the_post();
        /* Start my loop to get all post id in one array called "$post_ids" */
        $post_ids[] = get_the_id();
    endwhile;
    /* end of the loop */
} else {
    // no posts found
}
/* Restore original Post Data */
wp_reset_postdata();


$count = 1;
$post_title = $post_content = '';
foreach( $post_ids as $post_id ) 
{
    if ($count%5 == 1)
    {  
         echo '<div class="row">';
    }
    $post_title .= '<div class="title">'.get_the_title($post_id).'</div>';
    $post_content .= '<div class="content">'.get_post_field('post_content', $post_id).'</div>';
    if ($count%5 == 0)
    {
        echo $post_title;
        echo  $post_content;
        echo "</div>";
        $post_title = $post_content = '';
    }
    $count++;
}
if ($count%5 != 1) {
    echo $post_title;
    echo  $post_content;
    echo "</div>";
}
?>

它将发出如下所示

<div class="row">
    <div class="title">title1</div>
    <div class="title">title2</div>
    <div class="title">title3</div>
    <div class="title">title4</div>
    <div class="title">title5</div>
    <div class="content">content1</div>
    <div class="content">content2</div>
    <div class="content">content3</div>
    <div class="content">content4</div>
    <div class="content">content5</div>
</div>
<div class="row">
    <div class="title">title6</div>
    <div class="title">title7</div>
    <div class="title">title8</div>
    <div class="title">title9</div>
    <div class="title">title10</div>
    <div class="content">content6</div>
    <div class="content">content7</div>
    <div class="content">content8</div>
    <div class="content">content9</div>
    <div class="content">content10</div>
</div>
<div class="row">
    <div class="title">title11</div>
    <div class="title">title12</div>
    <div class="title">title13</div>
    <div class="title">title14</div>
    <div class="title">title15</div>
    <div class="content">content11</div>
    <div class="content">content12</div>
    <div class="content">content13</div>
    <div class="content">content14</div>
    <div class="content">content15</div>
</div>

标题1
标题2
标题3
标题4
标题5
内容1
内容2
内容3
内容4
内容5
标题6
标题7
标题8
标题9
标题10
内容6
内容7
内容8
内容9
内容10
标题11
标题12
标题13
标题14
标题15
内容11
内容12
内容13
内容14
内容15

这可能会奏效,但它确实非常昂贵,您对数据库的冲击非常大。在20篇文章中,你要做40多个查询。对于每篇文章,你要做两个查询,一个是获取文章标题,一个是获取内容,所有内容都已经在第一个查询中了。您需要从第一个查询返回并重新编写该查询,以对其进行优化。您需要一个查询,并且只需要一个查询,而不是40多个查询:-)这是有效的。。。genius:)我得到了一些伪代码,可以阻止数据库的过度查询。。。。我将在上面发布。我刚刚意识到我遗漏了标题的容器div和每行内容的容器div,抱歉:(我已经修改了上面的HTML,以迎合每组中每组列表项周围的容器div。