Вывод рекламы после первой записи в 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#index2—>, как и в первом случае, будет наш рекламный код адсенс, если нужно вставить код sape то заменяем всю строку <?php echo ‘<!—adsense#index1—>’ ?> нужным кодом.

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

Просто вместо <?php if (1 == $counter) : ?> вы можете написать <?php if (2 == $counter) : ?> и убрать строки:

<?php if (3 == $counter) : ?>
<?php echo ‘<!—adsense#index2—>’ ?>
<?php endif; ?>

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


В качестве альтернативы можно попробовать использовать следующий loop вместо своего. Не забудьте вставить код рекламы в 6 строчку:

<?php if (have_posts()) : ?>
<?php $count = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
<?php if ($count == 2) : ?>
//вставляйте свой код сюда
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php else : ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>


И еще один вариант вывода рекламы после первой записи:

<?php while (have_posts()) : the_post(); $counter++; ?>
<?php if ($counter <= 1) { ?>Ваш баннер, текст или ссылка<?} ?>
<?php endwhile; ?>

h++p://wphelp.ru/2007/ad-after-first-post.htm
h++p://cooledit.org.ua/2009/wordpress/10-primerov-ispolzovaniya-loop-v-wordpress.html
h++p://blog.rstudia.ru/kak-sdelat-banner-posle-pervogo-posta/

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


тринадцать − 7 =