Reputation: 793
i've this problem with WP_Query and the HTML output:
The Query:
<!-- Category posts -->
<!-- Entretencion -->
<article class="six column">
<?php
$caps = new WP_Query();
$caps->query('posts_per_page=4&category_name=entretencion');
while($caps->have_posts()) {
$caps->the_post();
$count++;
if($count == 1) {
?>
<!--First post -->
<h4 class="cat-title"><a href="#"><?php $category = get_the_category(); echo $category[0]->cat_name; ?></a></h4>
<div class="post-image">
<a href="#"><img src="<?php bloginfo( 'template_url' ); ?>/upload/imagepost1.jpg" alt=""></a>
</div>
<div class="post-container">
<h2 class="post-title">Create a Flexible Folded Paper Effect Using CSS3 Features</h2>
<div class="post-content">
<p>Venenatis volutpat orci, ut sodales augue tempor nec. Integer tempus ullamcorper felis eget dipiscing. Maecenas orci justo, mollis at tempus ac, gravida non</p>
</div>
</div>
<div class="post-meta">
<span class="comments"><a href="#">24</a></span>
<span class="author"><a href="#">nextwpthemes</a></span>
<span class="date"><a href="#">13 Jan 2013</a></span>
</div>
<!-- End of first post -->
<?php } if($count >= 2) { //Contador ?>
<!-- Second and others posts -->
<div class="other-posts">
<ul class="no-bullet">
<!-- Repeat this list with post 2, 3, and 4 -->
<li id="<?php echo $post->ID; ?>">
<a href="#"><img src="<?php bloginfo( 'template_url' ); ?>/upload/thumb1.jpg" alt=""></a>
<h3 class="post-title"><a href="#">Check Out the New Recommended Resources on Webdesigntuts+</a></h3>
<span class="date"><a href="#">13 Jan 2013</a></span>
</li>
</ul>
</div>
<?php } // Fin contador ?>
<?php } ?>
</article>
But the HTML output repeat 3 div with class other-post
.
The problem (left) the original (right)
How to repeat only li tags?
Upvotes: 0
Views: 353
Reputation: 165
<!-- Category posts -->
<!-- Entretencion -->
<article class="six column">
<?php
$count = '';
$perpage = 4;
$caps = new WP_Query();
$caps->query('posts_per_page='.$perpage.'&category_name=entretencion');
while($caps->have_posts()) {
$caps->the_post();
$count++;
if($count == 1) {
?>
<!--First post -->
<h4 class="cat-title"><a href="#"><?php $category = get_the_category(); echo $category[0]->cat_name; ?></a></h4>
<div class="post-image">
<a href="#"><img src="<?php bloginfo( 'template_url' ); ?>/upload/imagepost1.jpg" alt=""></a>
</div>
<div class="post-container">
<h2 class="post-title">Create a Flexible Folded Paper Effect Using CSS3 Features</h2>
<div class="post-content">
<p>Venenatis volutpat orci, ut sodales augue tempor nec. Integer tempus ullamcorper felis eget dipiscing. Maecenas orci justo, mollis at tempus ac, gravida non</p>
</div>
</div>
<div class="post-meta">
<span class="comments"><a href="#">24</a></span>
<span class="author"><a href="#">nextwpthemes</a></span>
<span class="date"><a href="#">13 Jan 2013</a></span>
</div>
<!-- End of first post -->
<?php
}
//only on second post/loop
if($count == 2) {
?>
<!-- Second and others posts -->
<div class="other-posts">
<ul class="no-bullet">
<?php
}
if($count >= 2) { //Contador
?>
<!-- Repeat this list with post 2, 3, and 4 -->
<li id="<?php echo $post->ID; ?>">
<a href="#"><img src="<?php bloginfo( 'template_url' ); ?>/upload/thumb1.jpg" alt=""></a>
<h3 class="post-title"><a href="#">Check Out the New Recommended Resources on Webdesigntuts+</a></h3>
<span class="date"><a href="#">13 Jan 2013</a></span>
</li>
<?php
}
//again, only on final loop
if($count == $perpage) {
?>
</ul>
</div>
<?php
}
}
?>
</article>
That will only output one li in the second loop, and by the end of $perpage (i keep those 4 perpage you ask to the original WP_Query). It's ugly, but should works.
Upvotes: 1