Как добавить рекламные блоки внутри текста записи в WordPress

Вы наверняка встречали блоги, на которых была размещена реклама внутри содержимого записи? Эти рекламные блоки обычно идут после первого или второго абзаца в большинстве случаев. Многие новички задаются вопросом, эти сайты вставляют рекламный код руками при написании статей или же есть способ автоматизации процесса.. Было бы не очень эффективно вставлять рекламу вручную, при том, что статей, к примеру, после года существования блога может быть более 200.

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

Откройте файл functions.php вашей темы или файл плагина для сайта WordPress и вставьте туда следующий код:

<?php
 
//Вставляем рекламный блок после второго абзаца определенной статьи.

add_filter( 'the_content', 'prefix_insert_post_ads' );

function prefix_insert_post_ads( $content ) {
	
	$ad_code = '<div>Рекламный код размещаем здесь</div>';

	if ( is_single() && ! is_admin() ) {
		return prefix_insert_after_paragraph( $ad_code, 2, $content );
	}
	
	return $content;
}
 
// Родительская функция, которая позволяет волшебству случиться
 
function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
	$closing_p = '</p>';
	$paragraphs = explode( $closing_p, $content );
	foreach ($paragraphs as $index => $paragraph) {

		if ( trim( $paragraph ) ) {
			$paragraphs[$index] .= $closing_p;
		}

		if ( $paragraph_id == $index + 1 ) {
			$paragraphs[$index] .= $insertion;
		}
	}
	
	return implode( '', $paragraphs );
}

Для добавления вашего рекламного кода просто отредактируйте значение $ad_code, в том месте, где видите слова «Рекламный код размещаем здесь» в строке 9. Все готово. Для изменения номера абзаца, просто смените цифру 2 на нужную вам в строке 12.

Надеемся, что статья помогла вам добавить рекламные блоки внутри текста записи в WordPress. Эту функцию можно использовать несколько раз, например для добавления еще одного рекламного блока после седьмого абзаца и т.д.

VN:F [1.9.22_1171]
Rating: 3.9/5 (7 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • Nurlan

    «Эту функцию можно использовать несколько раз, например для добавления еще одного рекламного блока после седьмого абзаца и т.д.»

    Каким образом два одинаковых php кода будут работать, если вставить их в один и тот же файл? Ведь здесь предлагается именно это? Думаю, это вызовет ошибку в работе сайта. Или я ошибаюсь?

  • Спасибо, пригодилось, как раз то что нужно, а то у меня сложная тема и в single.php код поставить не получилось.

  • Tekken

    Спасибо, друг.

    • ADv

      Обращайтесь 😉

  • Sam

    Спасибо. Хороший способ.
    А скажите, пожалуйста, каким образом можно вписать код блока и еще php функцию.
    Если я вписываю только код рекламы — все ок, а если еще вызываю функцию — все виснет.

    • ADv

      ‘Рекламный код размещаем здесь’; = без кавычек, без дивов же прописываете? Зачем функцию вызываете здесь? Тут нужно указать переменную, отдающую какое-то значение функции.

  • Алекс

    Откройте файл functions.php вашей темы или файл плагина для сайта WordPress и вставьте туда следующий код:
    а в какое именно место нужно вставить этот код?

    • ADv

      В любое место файла. Главное, чтобы не внутри существующей функции, ну и в рамках php тегов (открывающего и закрывающего).

Scroll To Top