Adsense Ad at Random Position in a Posts Page

This code is made to output an adsense ad (or any other block of output) at a random position within the loop, with the restriction to a preset number of possible positions.

<?php $ad_positions = array(1,2,4); // array of preset possible ad positions

do { $rnd_ad = $ad_positions[rand(0,count($ad_positions)-1)]; } while ($rnd_ad >= $wp_query->post_count); 
// to make sure that the random output fits into the available number of posts ?>

<?php if(have_posts()) : while(have_posts()) : the_post(); // start of the loop // ?>

some part of the post output here

  <?php if( ($wp_query->current_post+1) == $rnd_ad ) : ?>
    adsense code here
  <?php endif; ?> 

more post output here

<?php endwhile; endif; // end of the loop // ?>

Thanks to the tutorials of http://www.php.net/ …

Leave a Reply

Your email address will not be published. Required fields are marked *