Вывод рекламы после первой записи в WordPress

Волна монетизации захлестнула русскую блогосферу. А поскольку большинство отдельностоящих блогов работают на WordPress, думаю, будет полезным узнать, как красиво оформить рекламу в своем блоге.

Итак, рассмотрим простую схему вывода рекламы (например AdSense) после первой записи на странице.

Перед циклом Loop (начало его будет выглядеть следующим образом: <?php if (have_posts()) : while (have_posts()) : the_post(); ?>) необходимо добавить код

<?php $postcount=0; ?>.

Далее в середине цикла Loop (после кода публикации) добавляем:

<?php
$postcount++;
if($postcount==1){?>
<div><!–adsense–></div>
<?php } ?>

Вместо <!–adsense–> вставляем свой рекламный код, или любой другой (например, у меня на сайте это облако тегов).

Есть и другой, более продвинутый вариант выполнения той же задачи. Здесь мы рассмотрим как выводить рекламу не только после первой записи.

Находим все ту же строку <?php if (have_posts()) : while (have_posts()) : the_post(); ?> в файлах шаблона WordPress (обычно это index.php, archieve.php home.php).

Перед ней пишем:

<?php $counter = 0; ?>

а после нее:

<?php $counter = $counter + 1;?>

Этот код отвечает за подсчет публикаций.

Далее будет идти код, который отвечает за вывод публикаций, и сразу за ним вы найдете такие строки:

<?php endwhile; else: ?>
<p><?php _e(’К сожалению, по вашему запросу ничего не найдено.’); ?></p>
<?php endif; ?>

Прямо перед <?php endwhile; ?> вставьте следующий код:

<?php if(1 == $counter) : ?>

<?php echo ‘<!–adsense#index1–>’ ?>

<?php endif; ?>

<?php if(3 == $counter) : ?>

<?php echo ‘<!–adsense#index2–>’ ?>

<?php endif; ?>

Вместо <!–adsense#index1–> и <!–adsense#index22–>, как и в первом случае, будет наш рекламный код.

Такая конструкция позволяет выводить рекламу после перовой и третей публикации на странице. Однако вы можете модифицировать эти условия, и выводить, к примеру, рекламу только после второй публикации, или в любой другой последовательности.

Просто вместо:

<?php if(1 == $counter) : ?>

вы можете написать:

<?php if(2 == $counter) : ?>

и убрать строки:

<?php if(3 == $counter) : ?>

<?php echo ‘<!–adsense#index2–>’ ?>

<?php endif; ?>

Такая конструкция будет выводить рекламу только после второй записи.

Отзывы

Ваш отзыв