Как вставить рекламный блок в ленте записей блога в Вордпрессе
Давненько я не писал полезных технических статей по Вордпрессу, исправляюсь. Сегодня я расскажу вам, мои маленькие монетизаторы, как вставить код рекламных блоков на вашей главной странице блога, прямо между анонсами записей. Обычными средствами типа CTRL+C и CTRL+V его влепить туда невозможно, придется немного поковыряться в php коде.
Зато результат вас наверняка порадует. Например у Гугла в Адсенсе появился интересный формат рекламного блока, называется «Нативное объявление в фиде». Такой блок отлично вписывается в ленте постов, поскольку очень похож форматом на анонсы в ленте блога. У него полно настроек и его можно так подогнать, что практически не отличишь от обычной записи. Реклама Яндекса так же хорошо впишется.
Выглядит это дело примерно так:
Как видите достаточно органично вписывается, не раздражает посетителей, и вообще может оказаться очень даже в тему. Ну а теперь к технической части.
Как вставить рекламу на главной блога и в других циклах между записей
Первым делом определяемся куда мы хотим внедрить рекламу. Если на главную, то ищем в файлах WordPress шаблона php файл, отвечающий за вывод главной страницы, как правило это index.php. Открываем его в текстовом редакторе, желательно Notepad++ или любой который поддерживает кодировки и не ломает код. Обязательно сохраните исходную версию файла где-нибудь у себя на диске, на всякий случай.
Далее находим в коде начало цикла записей, который можно опознать по строчке <?php while ( have_posts() ) : the_post(); ?>. И вносим в него небольшие изменения, для наглядности выделил зеленым цветом то, что нужно добавить, а черным цветом то, что остается неизменным у вас в шаблоне и трогать не нужно.
<?php if (have_posts()) : ?><?php $count = 0; ?><?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
<div id=»post-<?php the_ID(); ?>» <?php post_class(); ?>>
… и так далее, тут идет оформление и функционал записей в цикле, ничего не трогаем
</div>
<?php if ($count == 2) : ?>
И наконец код рекламного блока вставляем здесь
<?php else : ?>
<?php endif; ?><?php endwhile; ?>
<?php endif; ?>
В каждом шаблоне могут быть свои нюансы, коды цикла могут отличаться, там могут быть несколько разных условий, куча дополнительных блоков, ссылок, разного функционала и т.д. Но суть остается одинаковой, нам необходимо вставить в цикл loop переменную $count, присвоить ей значение ноль <?php $count = 0; ?> и затем увеличивать счетчик <?php $count++; ?>
Дойдя до нужного по счету поста срабатывает наш рекламный код, которому мы задали условие <?php if ($count == 2) : ?>
Данный код будет выводить ваш рекламный блок (или любой другой фрагмент, который вы захотите внедрить в цикл) после 2-й записи. Вы можете поменять это число по собственному усмотрению в этом месте — $count == 2 заменив цифру на нужную.
Так же вы можете добавить условия вывода, например вывод рекламных блоков сразу после нескольких анонсов записей в цикле. Это можно сделать немного изменив условия в коде.
Например <?php if ($count == 1 or $count == 3) : ?> вставит сразу два рекламных блока после 1-й и 3-й записи в ленте.
Кстати эту фишку можно использовать не только на главной странице, но и в других loop циклах, например в рубриках, для этого ищите и редактируйте файл archive.php.
Надеюсь данная информация окажется полезной и принесет вам много денег)
Комментариев: 4
Скажите как можно добавить уникальній ID блоку каждой записи в блоге. То есть через цикл выводятся записи из одной категории, нужно иметь доступ к каждой записи через уникальный ID для создания якоря
Если правильно понимаю о чем речь, то этот уникальный id уже есть и так у каждой записи в блоге, шаблоны как правило выводят его в верстке. Попробуйте посмотреть через код страницу сайта и поискать там айди.
Благодарствую за труды, отличная статья!
Желаю творческих Успехов!
Спасибо Николай, вам тоже успехов.