感谢这里的一些答案,我设法将我的帖子区分为最新的帖子以及其他所有帖子。但是,它必须是最早的帖子。这是我目前的loop
:
<?php if (have_posts()) : ?>
<?php $post = $posts[0]; $c=0;?>
<?php while (have_posts()) : the_post(); ?>
<!-- first post -->
<?php $c++;
if( $c == 1) :?>
<div class="container">
<div class="inner_box">
<ul>
<div class="title">
<a href="<?php the_permalink();?>">
<?php the_title(); ?>
</div>
<?php the_content(); ?>
</a>
</ul>
<div class="down">a</div>
</div>
</div>
<?php else :?>
<!-- second post -->
<div class="container">
<div class="inner_box">
<ul>
<div class="title">
<a href="<?php the_permalink();?>">
<?php the_title(); ?>
</div>
<?php the_content(); ?>
</a>
</ul>
<div class="up">b</div>
</div>
</div>
<?php endif; ?>`
我在某处看到你可以使用while循环来定位post.length中的最后一个帖子。但是,我不确定如何实现这一点。
答案 0 :(得分:0)
是的,你是对的。使用count
。
假设$total_posts = count($posts);
的帖子总数为5
您必须检查$counter
total - 1
,因为数组是$posts[0], $posts[1], $posts[2], $posts[3], $posts[4]
。
<?php
if ( have_posts() ) :
$counter = 0;
$total_posts = count($posts) - 1;
while ( have_posts() ) :
the_post();
if( $counter == $total_posts ) {
?>
<div class="container"><?php // CUSTOM CODE FOR LAST ARTICLE ?></div>
<?php
} else {
?>
<div class="container"><?php // CUSTOM CODE FOR THE REST OF ARTICLES ?></div>
<?php
}
$counter++;
endwhile;
endif;
请注意,从PHP更改为HTML时,您只需要打开<?php
并关闭?>
,在每一行使用它们都会非常混乱。