Автозагрузка предыдущих записей и РСЯ

12
D9
На сайте с 21.04.2009
Offline
125
634
Народ как заставить РСЯ показывать рекламу в бесконечной прокрутки предыдущих постов? Внедрил код после каждого 3 абзаца. Реклама подгружается только в первых 2 постах. В коде каждых последующих постах повторяющийся код присутствует, а рекламы нет.
Роман Кузьминский
На сайте с 08.07.2022
Offline
154
#1
ded9 :
Народ как заставить РСЯ показывать рекламу в бесконечной прокрутки предыдущих постов? Внедрил код после каждого 3 абзаца. Реклама подгружается только в первых 2 постах. В коде каждых последующих постах повторяющийся код присутствует, а рекламы нет.

Добрый день. Если речь идёт о лентах с бесконечной прокруткой, то в них можно использовать один и тот же рекламный блок, в котором изменяется параметр pageNumber и название контейнера renderTo. При этом уникальный идентификатор блока blockId, полученный в конструкторе, остаётся неизменным. Подробнее здесь.

Если пришлёте мне в личные сообщения ваш логин РСЯ, ID блока и пример страницы, дополнительно проверю с командой ваш случай.

Возможности кода рекламного блока |
Возможности кода рекламного блока |
  • yandex.ru
Вы можете использовать дополнительные функции и изменять некоторые настройки, работая непосредственно с кодом рекламного блока. За вызов рекламы в коде отвечает функция . Мы не рекомендуем неопытным пользователям самостоятельно вносить изменения в код вызова рекламных блоков. Изменение любых переменных и функций, кроме описанных на данной...
D9
На сайте с 21.04.2009
Offline
125
#2
Я делал по инструкции, которую вы мне дали.  Не работает. Реклама отображается только в первой статье.
M
На сайте с 03.07.2019
Offline
42
#3
ded9 #:
Я делал по инструкции, которую вы мне дали.  Не работает. Реклама отображается только в первой статье.


x - уникальное число для каждого нового блока


<div id="yandex_rtb_R-A-000000-0-x"></div>

<script type="text/javascript">

window.yaContextCb.push(()=>{

Ya.Context.AdvManager.render({

  renderTo: 'yandex_rtb_R-A-0000000-0-'+x,

pageNumber: x,

  blockId: 'R-A-000000-0'

})

</script >

D9
На сайте с 21.04.2009
Offline
125
#4
micke #:


x - уникальное число для каждого нового блока


<div id="yandex_rtb_R-A-000000-0-x"></div>

<script type="text/javascript">

window.yaContextCb.push(()=>{

Ya.Context.AdvManager.render({

renderTo: 'yandex_rtb_R-A-0000000-0-'+x,

pageNumber: x,

blockId: 'R-A-000000-0'

})

</script >

При установке вашего кода возникает синтаксическая ошибка.

D9
На сайте с 21.04.2009
Offline
125
#5
Не работает этот метод на движке Wordpress, через functions.php.


D9
На сайте с 21.04.2009
Offline
125
#6
Я использую для вывода рекламы после 2 абзаца следующий код:

function prefix_insert_after_paragraph2( $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 );
}

add_filter( 'the_content', 'prefix_insert_post_ads' );
function prefix_insert_post_ads( $content ) {
    if ( is_single() && ! is_admin() ) {
        $content = prefix_insert_after_paragraph2( array(
            // The format is: '{PARAGRAPH_NUMBER}' => 'AD_CODE',
           '2' => '<div><p><div id="yandex_rtb_R-A-123456-1-1"></div>
<script>window.yaContextCb.push(()=>{
    Ya.Context.AdvManager.render({
        blockId: "R-A-123456-1",
        renderTo: "yandex_rtb_R-A-123456-1-1", // в конце названия ставится 1
    })
})</script></p></div>',
        ), $content );
    }

    return $content;
}

Где мне подправить, чтобы реклама выводилась после 2 абзаца в каждом посте? 
M
На сайте с 03.07.2019
Offline
42
#7
Где мне подправить, чтобы реклама выводилась после 2 абзаца в каждом посте? 

function prefix_insert_post_ads( $content ) {
$ad__block=rand(1,9999);
$ad__container="<div><p><div id=\"yandex_rtb_R-A-123456-1-$ad__ block\"></div>
<script>window.yaContextCb.push(()=>{
    Ya.Context.AdvManager.render({
        blockId: \"R-A-123456-1\",
pageNumber: $ad__ block,
        renderTo: \"yandex_rtb_R-A-123456-1-$ad__ block\"
    })
})</script></p></div>";

    if ( is_single() && ! is_admin() ) {
        $content = prefix_insert_after_paragraph2( array(
            // The format is: '{PARAGRAPH_NUMBER}' => 'AD_CODE',
           '2' => $ad__ container,
        ), $content );
    }

    return $content;
}

D9
На сайте с 21.04.2009
Offline
125
#8
micke #:

Ошибка в строке:

'2' => $ad__ container,

syntax error, unexpected identifier "container", expecting ")"

M
На сайте с 03.07.2019
Offline
42
#9
ded9 #:

Ошибка в строке:

'2' => $ad__ container,

syntax error, unexpected identifier "container", expecting ")"

Почему-то появились пробелы в именах переменных((
Так правильно:

function prefix_insert_post_ads( $content ) {

$ad__block=rand(1,9999);
$ad__container="<div><p><div id=\"yandex_rtb_R-A-123456-1-$ad__ block\"></div>
<script>window.yaContextCb.push(()=>{
    Ya.Context.AdvManager.render({
        blockId: \"R-A-123456-1\",
pageNumber: $ad__block,
        renderTo: \"yandex_rtb_R-A-123456-1-$ad__block\"
    })
})</script></p></div>";

    if ( is_single() && ! is_admin() ) {
        $content = prefix_insert_after_paragraph2( array(
            // The format is: '{PARAGRAPH_NUMBER}' => 'AD_CODE',
           '2' => $ad__container,
        ), $content );
    }

    return $content;
}
D9
На сайте с 21.04.2009
Offline
125
#10
micke #:

Почему-то появились пробелы в именах переменных((
Так правильно:

function prefix_insert_post_ads( $content ) {

$ad__block=rand(1,9999);
$ad__container="<div><p><div id=\"yandex_rtb_R-A-123456-1-$ad__ block\"></div>
<script>window.yaContextCb.push(()=>{
    Ya.Context.AdvManager.render({
        blockId: \"R-A-123456-1\",
pageNumber: $ad__block,
        renderTo: \"yandex_rtb_R-A-123456-1-$ad__block\"
    })
})</script></p></div>";

    if ( is_single() && ! is_admin() ) {
        $content = prefix_insert_after_paragraph2( array(
            // The format is: '{PARAGRAPH_NUMBER}' => 'AD_CODE',
           '2' => $ad__container,
        ), $content );
    }

    return $content;
}

Установилось без ошибок. Рекламы нет. Даже в коде страницы браузера нет кода рекламы.))))

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий