Вывод рекламы после первой записи в 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; ?>
Такая конструкция будет выводить рекламу только после второй записи.
Реклама → doma.ru проекты домов и строительство коттеджей в г. Москве
Отзывов (19) на «Вывод рекламы после первой записи в WordPress»
Большое спасибо за отличную статью! До этого 3 дня промучался сам, потом еще целый день рылся в интернете... :) А тут все просто и ясно.
А Вы не поскажете, как прицепить почтовую форму с хорошей капчей на страницу контактов, ато использовал плагин Contact Form, а он на каждую страницу впихивает свой кусок стилей, который очень не способствует сайту по части SEO. Может есть какие-то другие варианты?
Хотелось бы, чтобы стили вкладывались обычным линком на внешний файл CSS и только на той странице, где это нужно.
Не совсем понятно, что там со стилями у Contact Form, но можете использовать плагин cforms II
по-моему, по функционалу он удовлетворит любого, там можно самому создавать любые по сложности формы с любыми стилями. Сначала немного нужно разобраться, как им пользоваться, но потом он становится просто незаменим :)
Спасибо тебе, статья очень пригодилась.
Так держать. У меня много вопросов по WordPress, не подскажешь литературку?
Только сегодня думал, как бы вставить код между постами, и совершенно случайно наткнулся на эту статью. Спасибо, пригодилось.
Не подскажите почему у меня сдвигается правая колонка ( с виджетами) при использовании такого метода, сдвигается вниз, под статьи и причём только при просмотрах в IE, в других браузерах всё отлично работает.
полезно. нужно взять на заметку. скажите, а вы публикуете пхп код в материалах, с помощью какого-то дополнительного плагина?
Спасибо за пост. Очень пригодилось. Очень полезная информация. Теперь так делаю на всех своих блогах :-) :arrow:
Спасибо. Настроил рекламу классно. Удобно между постами вставлять...
Особенно интересно одновременно две рекламы вставлять через
!!!!
links-blok 200-90
!!!!
(убрать надо !)
а тут 234×60
Благодарю за статью. Я давно хотел разобратся в этом способе, а с вашей помощью смог реализовать всё, что хотелось.
Активно правлю код вывода блоков на своих сайтах. Эффективность повышается.)
Спасибо за интересную статью! А как можно вставить рекламный блок перед первой статьёй? Искала в сети, но ничего не нашла...
Галина, это очень просто, достаточно найти в файлах index.php, archive.php, single.php, строку <?php if (have_posts()) : ?> и вставить перед ней.





декабря 20, 2007 в 14:38
Интересная статья, спасибо.
По ходу созрев вариант вставки в саму статью при помощи и соотвественно помещения его в /css/. Пока не проверял.