Решение проблемы вставки рекламы от Яндекса

Здравствуйте, столкнулся с проблемой – вставка рекламы на сайте осуществлялась через шорткод, который прописан в файле functions.php.
В functions.php старый формат кода RTB рекламы – работал, новый – нет.

Скачать исходники для статьи можно ниже

Новый формат RTB блока Яндекс рекламы:

<!-- Yandex.RTB R-A-99180-2 -->
<div id="yandex_rtb_R-A-99180-2"></div>
<script>window.yaContextCb.push(()=>{
  Ya.Context.AdvManager.render({
    renderTo: 'yandex_rtb_R-A-99180-2',
    blockId: 'R-A-99180-2'
  })
})</script>

Старый формат RTB блока Яндекс рекламы:

<!-- Yandex.RTB R-A-99180-2 -->
<div id="yandex_rtb_R-A-99180-2"></div>
<script type="text/javascript">
    (function(w, d, n, s, t) {
        w[n] = w[n] || [];
        w[n].push(function() {
            Ya.Context.AdvManager.render({
                blockId: "R-A-99180-2",
                renderTo: "yandex_rtb_R-A-99180-2",
                async: true
            });
        });
        t = d.getElementsByTagName("script")[0];
        s = d.createElement("script");
        s.type = "text/javascript";
        s.src = "//an.yandex.ru/system/context.js";
        s.async = true;
        t.parentNode.insertBefore(s, t);
    })(this, this.document, "yandexContextAsyncCallbacks");
</script>

Для того, чтобы переделать новый формат в старый для Вашего сайта – скопируйте мой старый код и просто поменяйте идентификатор рекламного блока “R-A-99180-2” на свой!

Вот рабочий код старого формата RTB блока Яндекс рекламы с моего сайта, прописанный в файле functions.php

// реклама яндекс
function ya_1() {
    return '
<!-- Yandex.RTB R-A-99180-2 -->
<div id="yandex_rtb_R-A-99180-2"></div>
<script type="text/javascript">
    (function(w, d, n, s, t) {
        w[n] = w[n] || [];
        w[n].push(function() {
            Ya.Context.AdvManager.render({
                blockId: "R-A-99180-2",
                renderTo: "yandex_rtb_R-A-99180-2",
                async: true
            });
        });
        t = d.getElementsByTagName("script")[0];
        s = d.createElement("script");
        s.type = "text/javascript";
        s.src = "//an.yandex.ru/system/context.js";
        s.async = true;
        t.parentNode.insertBefore(s, t);
    })(this, this.document, "yandexContextAsyncCallbacks");
</script>';
}
add_shortcode('ads1', 'ya_1');

Благодаря вышеуказанному коду – могу вставлять рекламу на сайте с помощью шорткода – ads1

———–

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Добавить комментарий