Расстановка на AMP страницах рекламы после указанных абзацев в WordPress

Image

Доброго времени суток, уважаемый посетитель!

Реклама позволяет сайту жить и развиваться, и этот факт едва ли можно поддаётся сомнению. И в WordPress рекламу можно вставлять различными способами: с помощью многочисленных плагинов, без таковых (с помощью кода). Но те решения, которые существуют и попадаются на глаза, часто не рассчитаны на AMP страницы.

А вебмастера, в свою очередь, всё чаще прибегают к реализации данного типа страниц на своих сайтах. И это влечёт за собой желание их должным образом монетизировать, расставив рекламные блоки таким образом, чтобы они давали наибольшую прибыльность, чтобы можно было развивать сайт, а не думать о том, где в очередной раз заработать денег на пропитание.

Давайте же посмотрим, как расставить рекламные блоки на AMP страницах после желаемых абзацев и в желаемом количестве.

Расставляем рекламные блоки на AMP страницах после указанных абзацев

Ранее уже было рассказано, как можно всеобъемлюще монетизировать AMP страницы, но там приводился код, который позволяет вставить лишь один блок после определённого абзаца. А в этом материале будет приведён код, позволяющий расставить неограниченное количество блоков после указанных абзацев. Оный код следует отредактировать под свои нужды и вписать в файл functions.php используемой темы (дизайна) в WordPress.

Вот этот код:

add_action( 'pre_amp_render_post', 'amp_ads_add' );
 
function amp_ads_add() {
    add_filter( 'the_content', 'insert_ads_to_amp' );
}

function insert_ads_to_amp( $content ) {
 
    $new_content = ads_add_paragraph( array(
// формат следующий: 'номер абзаца' => 'рекламный код',
'3' => '<amp-ad width="100vw" height=320
     type="adsense"
     data-ad-client="ca-pub-XXXXXXXXXXXXXXXX"
     data-ad-slot="YYYYYYYYYY"
     data-auto-format="rspv"
     data-full-width>
	<div overflow></div>
	</amp-ad>',
'6' => '<amp-ad width="100vw" height=320
     type="adsense"
     data-ad-client="ca-pub-XXXXXXXXXXXXXXXX"
     data-ad-slot="YYYYYYYYYY"
     data-auto-format="rspv"
     data-full-width>
	<div overflow></div>
	</amp-ad>',
        ), $content );
 
    return $new_content;
 
}

function ads_add_paragraph( $ads, $content ) {
    if ( ! is_array( $ads ) ) {
        return $content;
    }

    $closing_p = '</p>';
    $paragraphs = explode( $closing_p, $content );

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

        $n = $index + 1;
        if ( isset( $ads[ $n ] ) ) {
            $paragraphs[$index] .= $ads[ $n ];
        }
    }

    return implode( '', $paragraphs );
}

В приведённом примере рекламный код Google AdSense (можно вставить любой рекламный код, главное, чтобы он был совместим с AMP страницами) вставляется после 3 и 6 абзаца. Вы можете изменить номера абзацев, добавить ещё оных. Никаких ограничении нет. Даже если вы укажете абзац, которого фактически нет (короткая статья), то рекламный код конкретного этого абзаца не будет выведен, а для существующих абзацев всё будет выводиться, как и положено.

И да, если вы вставляете именно рекламные блоки Google AdSense, то обязательно учтите, что в Head области AMP страницы также должна быть прописана данная строчка кода:

<script custom-element="amp-ad" src="https://cdn.ampproject.org/v0/amp-ad-0.1.js"></script>

На этом всё. Желаю позитивной монетизации!

Пожертвование сайту WPuse.ru (cбор пожертвований осуществляется через сервис «ЮMoney»)