在循环中的部分周围添加容器DIV

时间:2015-05-20 14:36:08

标签: php wordpress for-loop count

我下面有一段代码几乎完成了我要做的事情,除了我需要修改它以便它在每行内的每组项目周围添加容器DIV。下面的第三段代码显示了我之后的输出。我已添加了每行中的标题组和内容组。请有人可以添加拼图中缺少的部分吗?

  1. 以下PHP ...

     <?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>";
            }
            ?>
    
  2. ...目前输出此HTML ...

     <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>
    
  3. ...但我想将容器DIV添加到每行中的每个部分,如下所示......

     <div class="row">
      <div class="container">
                <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>
      <div class="container">
                <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>
     <div class="row">
      <div class="container">
                <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>
         <div class="container">
                <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>
      <div class="row">
      <div class="container">
                <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>
      <div class="container">
                <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>
     </div>
    

1 个答案:

答案 0 :(得分:1)

更改

if ($count%5 == 0)
        {
            echo $post_title;
            echo  $post_content;
            echo "</div>";
            $post_title = $post_content = '';
        }

if ($count%5 == 0)
        {
            echo '<div class="container">';
            echo $post_title;
            echo "</div>";
            echo '<div class="container">';
            echo  $post_content;
            echo "</div>";
            echo "</div>";
            $post_title = $post_content = '';
        }