如何将特定的div元素添加到连续第一个帖子中?

时间:2014-03-23 作者:Casper

我在问如何在最近上传的最新帖子中添加自定义div元素。我该怎么做?

我的代码:

<ul class="entrybox">
                <?php 
                    $args = array(\'post_type\' => \'portfolio\', \'posts_per_page\' => -1, \'paged\' => $paged);
                    $loop = new WP_Query($args);
                    $count = 0;
                ?>

                <?php if ($loop) : while ($loop->have_posts()) : $loop->the_post(); ?>
                <li class="grid_4 portfolio-post">

                <?php if ($count == 1) echo \'<div class="newest">NEW</div>\'; ?>

                <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
                    <header class="post-thumb">
                        <?php the_post_thumbnail(\'thumbnail-portfolio\'); ?>
                    </header><!-- End header.post-thumb -->

                    <aside>
                        <h2><?php the_title(); ?></h2>
                        <p><?php the_excerpt(); ?></p>
                    </aside><!-- End aside -->
                </a>
                </li><!-- End li.grid_4 portfolio-post -->
                <?php endwhile; ?>
                <?php else : ?>
                    <p>No portfolio items were found! I\'m not sure what you\'re looking for.</p>
                <?php endif; ?>
                <?php wp_reset_query(); ?>
            </ul><!-- End ul.entrybox -->
我尝试过:

<?php if ($count == 1) echo \'<div class="newest">NEW</div>\'; ?>

但这是行不通的。

希望有人能解决!

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

好当然不行-$count 是未定义的,您永远不会更改它的值。

您可能想要这样的东西:

<?php if ($loop) : while ($loop->have_posts()) : $loop->the_post(); ?>
    <li class="grid_4 portfolio-post">

        <?php if ($loop->current_post == 0) echo \'<div class="newest">NEW</div>\'; ?>

        <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
            <header class="post-thumb">
                <?php the_post_thumbnail(\'thumbnail-portfolio\'); ?>
            </header><!-- End header.post-thumb -->

            <aside>
                <h2><?php the_title(); ?></h2>
                <p><?php the_excerpt(); ?></p>
            </aside><!-- End aside -->
        </a>
        </li><!-- End li.grid_4 portfolio-post -->
        <?php endwhile; ?>
        <?php else : ?>
            <p>No portfolio items were found! I\'m not sure what you\'re looking for.</p>
        <?php endif; ?>
        <?php wp_reset_query(); ?>
    </ul><!-- End ul.entrybox -->
WP_Query 已经有自己的柜台了(current_post), 所以你不必定义你自己的。

结束

相关推荐

Several loop in search result

我想在搜索后的结果中使用两个循环。首先,如果有结果,我开始循环<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> 并在循环后显示属于某个类别的文章<?php $cats = get_categories(); foreach ($cats as $cat) { query_posts(\'cat=\'.$cat-&g