Wordpress 中第 3、5 和 7 篇文章之后的自定义代码


Custom code after 3rd, 5th and 7th post in Wordpress

你好,我有一点问题。我们新网站的首页有一系列缩略图框,可以打开某些展示的产品。我写的循环显示了当前的所有帖子,但最终将仅绑定到投资组合类别。

然而,我的经理想要一个滑块,在第三篇文章之后有最近的博客文章,在第 5 篇和第 7 篇文章之后还有几个带有参考的滑块。我发现了一些代码,每 n 个帖子注入相同的代码段,但这对我来说没有好处,因为我只希望它发生 3 次并且都有不同的内容,包括一个在循环内有一个循环(大概时间会慢慢移动哈哈)。这可能吗?如果是这样,任何人都可以指出我的代码片段吗?

电流环路

        <!-- Start of loop -->
    <?php if (have_posts()) : ?>
        <!-- Start of Post -->
        <?php while (have_posts()) : the_post(); ?>
        <!-- Check to see if there is featured image -->
        <?php if (function_exists('has_post_thumbnail') && has_post_thumbnail()) { ?>
        <?php $img_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), array( 960,960 )); ?>
        <!-- End Checking -->

        <div class="portfolioblock" style="background-image: url('<?php echo $img_src[0]; ?>');">
    <a href="<?php the_permalink(); ?>">
            <div class="rollover">
              <div class="center">
                <img src="<?php bloginfo('template_url'); ?>/img/zoom.png" alt="More" />
              </div>                    
              <h2><?php the_title(); ?></h2>               
                <p><?php the_excerpt(); ?></p>
    </div>
        </a>
        </div>

          <!-- Start Content Block -->          
        <?php } else { ?>
        <div class="block">
          <h2><?php the_title(); ?></h2>               
          <p><?php the_excerpt(); ?></p>
        </div>            
        <?php } ?>
        <!-- End Content Block -->
        <?php endwhile; ?>
        <!-- End of Post -->
        <?php else : ?>
        //Something that happens when a post isn’t found.
    <?php endif; ?>
    <!-- End of Loop -->

我找到了每 n 个帖子注入一个代码片段的代码。

<?php $postnum++; if($postnum%5 == 0) { ?>
YOUR AD CODE HERE
<?php } ?>

您可以计算通过的帖子数量,然后决定:

$postnum++;
if ($postnum == 3 || $postnum == 5 || $postnum == 7) {
    echo 'foo';
}

详细阐述cweiske的答案:

在结束之前插入

    <?php $postnum++;
    if ($postnum == 4) { ?>
            <div class="block"><h2>Blog</h2></div>
    <?php } 
        if ($postnum == 6) { ?>
            <div class="block"><h2>References</h2></div>
    <?php }
        if ($postnum == 9) { ?>
            <div class="block"><h2>Meet the team</h2></div>
    <?php }; ?>

基本上你想做的就是这个。

在循环开始之前,将计数器变量初始化为 0。

每次循环成功找到帖子时,递增变量。

现在,每个循环,您将知道显示了多少个帖子。

因此,在适当的位置,您检查计数器以查看它是否匹配 3 5 或 7。如果匹配,则显示正确的块。