找到最老的帖子 - WordPress

时间:2013-08-21 14:07:24

标签: php wordpress wordpress-theming

感谢这里的一些答案,我设法将我的帖子区分为最新的帖子以及其他所有帖子。但是,它必须是最早的帖子。这是我目前的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中的最后一个帖子。但是,我不确定如何实现这一点。

1 个答案:

答案 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并关闭?>,在每一行使用它们都会非常混乱。