使用循环在3个帖子之后插入图像或广告脚本

时间:2012-08-07 作者:Sledge81

有很多脚本/黑客可以在帖子中间插入广告(在“x”个段落之后),但是我还没有找到足够好的脚本来完成上述操作。

这是接近的脚本,

<?php $post_counter=0; ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php require(\'post.php\'); ?>
<?php
$post_counter++;
if ($post_counter == 2 || $post_counter == 3) { ?>
INSERT ADSENSE CODE HERE
<?php } ?>
<?php endwhile; ?>
摘自here. 但我的索引。php使用此选项:

<?php
$page_num = $paged;
if ($pagenum=\'\') $pagenum =1;
query_posts(\'cat=-3&showposts=6&paged=\'.$page_num); ?>
            <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
            <?php get_template_part(\'includes/index-loop\'); ?>
            <?php endwhile; wp_reset_postdata(); wp_reset_query(); ?>
            <div class="clear"></div>

        <?php else : ?>
        <?php endif; ?>
我试着把

<?php
$post_counter++;
if ($post_counter == 2 || $post_counter == 3) { ?>
INSERT ADSENSE CODE HERE
<?php } ?>
在endwhile之前,但我看到“在此处插入ADSENSE代码”重复了两次。有什么建议吗?

2 个回复
最合适的回答,由SO网友:Michael 整理而成

可以使用变量代替post计数器$wp_query->current_post - 循环中的第一个帖子以0开头;

对于第三篇文章之后的一些输出,例如在endwhile;:

<?php if( $wp_query->current_post == 2 ) { ?>
DO SOMETHING
<?php } ?>

SO网友:Muhammad Riyaz

<?php $ad_positions = array(2,3,4,5,6); // array of preset possible ad positions 
$numb = $ad_positions[rand(0, count($ad_positions) - 1)]; 

if( $wp_query->current_post == $numb ) { ?> 
DO SOMETHING 
<?php } ?>
如果有人需要在random positions, 以上代码将有助于wordpress循环。非常感谢。

结束

相关推荐

如何用显式样式版本替换GET_TEMPLATE_PART(‘loop’,‘tag’)?

所以我的主题有一个标签。php,其中包含以下行:get_template_part(\'loop\',\'tag\');它运行循环并输出标记条目。我正在修改它以包含帖子缩略图(使用if(has\\u post\\u thumbnail()){the\\u post\\u thumbnail()}),但需要添加更多样式。为此,我需要访问get_template_part() 正在吐。我知道我应该能够通过创建自己的循环中循环标记来实现这一点。php或类似的东西,但找不到示例。有人能给我一个简单的循环标记示例吗