3

我需要发布的第一篇帖子采用不同的样式。有没有一种方法可以让我查看帖子是否在前,然后更改其内容?我目前div在我的所有帖子中都有一个。这需要替换为不同的div.

显然以下代码可以提供帮助,但我不确定如何实现它:

<?php if (have_posts()) : $postCount = 1; while (have_posts()) : $postCount++; ?>

我是 WordPress 新手,所以不完全确定它是如何工作的?

4

2 回答 2

9

在您的后面附加以下代码:

<?php if (have_posts()) : $postCount = 1; while (have_posts()) : $postCount++; ?>

<?php if($postCount == 2) { ?>
  // SOMETHING TO DO WITH FIRST POST
<?php } else { ?>
  // SOMETHING TO DO WITH ALL OTHER POSTS
<?php } ?>
于 2013-08-21T12:25:10.800 回答
3
<?php if (have_posts()) : $postCount = 0; while (have_posts()) : $postCount++; ?>

上面的代码将创建一个$postCount变量并在每次循环循环时递增它。请注意,我已将其更改为从 0 而不是 1 开始。

我们现在有$postCount变量中的帖子计数。我们只需要找到第一个帖子并将样式应用于该帖子。

通常,你会得到这样的东西:

<div class="post" id="post-<?php the_ID(); ?>">

将其更改为:

<div <?php if($postCount == 1) { ?>class="YourSpecialClass"<?php } 
else { ?>class="post"<?php } ?> id="post-<?php the_ID(); ?>">

上面的代码将检查是否$postCount1(第一篇文章),然后将class="YourSpecialClass"部分添加为其<div>属性。

更好的可读版本:

<?php if($postCount == 1) { ?>

    //the first post -- style it

<?php } else { ?>

    //other posts -- proceed normally

<?php } ?>

希望这可以帮助!

于 2013-08-21T12:29:19.427 回答