Такой пример с выводом после определенного поста, можно встретить на форумах, когда после определенного ответа размещена реклама, которая по стилю оформлена как ответ. Тут же та самая суть. Возможно Вы не хотите поместить блок где-то вверху или в низу цикла, а красиво его замаскировать среди записей, чтобы не напрягать посетителей рекламой, но в то же время обратить на нее внимание.
Добиться такого эффекта очень легко. Сначала мы установим счетчик, а потом выведем рекламу в нужном месте. Покажу 2 способа - вывод одного рекламного блока после определенной записи и вывод нескольких блоков, после разных по счету записей.
Вывод рекламного блока после определенной записи
Вы должны определиться где будет вывод блока. В основном это главная страница, поэтому открываем - index.php. Если Вам на другой странице надо, то открывайте соответствующий файл. Сначала нужно найти начало цикла. Выглядит он примерно так:
<? if (have_posts()) : ?>
<? while (have_posts()) : the_post(); ?>
У вас он может быть в одну строку, но суть понятна. Перед ним нужно добавить вот такую строку:
<?php $counter = 0; ?>
Мы обнуляем счетчик, далее нужно найти после вывода миниатюр текста, названия и тд такую строку:
<?php endwhile; ?>
Перед этой строкой вставляем код, который будет вести подсчет и вставлять рекламный блок.
<?php
$postcount++;
if($postcount==1){?>
<div>// код рекламного блока</div>
<?php } ?>
В третьей строке указана единица - 1. Это как раз и есть номер поста, после которого будет выведен рекламный блок. Можете поменять на свой чтобы добиться нужного.
В четвертой строке вставляете нужный код рекламы или любого элемента, который будет выводится. Сложного ничего нет.
Вывод нескольких блоков, после разных по счету записей
Способ очень похож на предыдущий, так что все по порядку. Перед циклом также вставляем:
<?php $counter = 0; ?>
Сразу после цикла вставляем такую строку:
<?php $counter = $counter + 1;?>
У Вас должно получиться, что-то вроде этого:
<?php $counter = 0; ?>
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
<?php $counter = $counter + 1;?>
Потом как и в первом способе перед endwhile вставляем такие два блока:
<?php if(1 == $counter) : { ?>
// Первый блок с рекламой
<?php } endif; ?>
<?php if(3 == $counter) : { ?>
// Второй блок с рекламой
<?php } endif; ?>
Как видите первый код выводит рекламный блок после первой записи, а второй после третьего. Можно добавить и третий рекламный блок, его код будет таким:
<?php if(4 == $counter) : { ?>
// Третий блок с рекламой
<?php } endif; ?>
Нужно, просто в нем в первой строке указывать номер поста, после которого будет выведен рекламный блок. По сути таких блоков можно сделать столько, сколько Вам нужно.
Вот и все, что нужно для эффективного вывода рекламы внутри списка Ваших опубликованных постов. Многие посетители очень не любят рекламу, но без нее вебмастер не сможет монетезировать свои труды и получить хотя бы мизерную прибыль. Для содержания своего любимого блога и иметь возможность доносить полезную информацию для тех же посетителей.
Так что, дорогие вебмастера, пользуйтесь данным методом, чтобы вставить рекламу на свой блог, а уважаемые посетители - не злитесь на нас, мы же стараемся не ставить ужасную рекламу, которая перекрывает пол экрана или орет на всю квартиру, что пора уничтожать гоблинов и спасать Нарнию :).
На этом все, спасибо за внимание. 🙂