在循环中的部分周围添加容器 DIV
Add container DIVs around sections in loop
下面有一段代码几乎完成了我希望它完成的工作,除了我需要修改它以便它在每行中的每组项目周围添加容器 DIV。下面的第三段代码显示了我之后的输出。我在每一行中添加了标题组和内容组。有人可以补充拼图缺失的部分吗?
以下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>";
}
?>
...当前输出此 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>
...但我想像这样将容器 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>
改变
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 = '';
}
下面有一段代码几乎完成了我希望它完成的工作,除了我需要修改它以便它在每行中的每组项目周围添加容器 DIV。下面的第三段代码显示了我之后的输出。我在每一行中添加了标题组和内容组。有人可以补充拼图缺失的部分吗?
以下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>"; } ?>
...当前输出此 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>
...但我想像这样将容器 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>
改变
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 = '';
}