Поддержка Проблемы и решения Рекламные блоки РСЯ

  • Народ, подскажите пожалуйста, что где нужно прописать, чтобы на определённых страницах сайта скрыть лишние рекламные блоки? Дело в том, что я хочу в слайдбаре справа сделать 5 рекламных блоков (сейчас их три), но хочу, чтобы на главной странице сайта показывались только первые три, так как ниже нет контента, а на странице «Обратная связь» только один по той же причине. Перерыл всё что только можно и ничего по этой теме не нашёл. Нашёл только одно решение, но с блоками РСЯ оно не работает.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • В службе поддержки РСЯ спросили? По идее, они могли бы сделать плагин для своей сети. Есть плагины для вставки рекламного кода, может найдется подходящий https://ru.wordpress.org/plugins/search/ad/

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

    jackson1979, привет.

    Не увидел у вас сейчас на сайте вообще ни одного рекламного блока.

    В теории вы можете попробовать скрывать лишние блоки, цепляясь к уникальным идентификаторам страниц.

    На сайте есть рекламные блоки (4 на главной странице, 3 на других страницах и по 6 в записях). Вы уверены, что у вас не включен AdBlock? На счёт скрывать по идентификатору страниц, то такое решение я видел и его суть заключалась в том, что в sidebar.php нужно было добавить следующий код:

     <?php if ( ! is_page ( array(111) ) ) { ?>
    код рекламы Google Adsense
    <?php } ?>

    где 111 это ID страницы.

    Я пробовал это решение, но с блоками РСЯ это почему-то не работает. Вот поэтому и спрашиваю, есть ли другой способ скрыть определённые блоки на определённых страницах? Может с помощью CSS или прописать что-то в sidebar.php, но что?

    • Ответ изменён 1 неделя, 4 дня назад пользователем jackson1979.

    jackson1979,

    Я пробовал это решение, но с блоками РСЯ это почему-то не работает.

    А с любым другим контентом пробовали?

    if(!is_page([1,3, 37])) { 
        echo '<h1>Test</h1>';
    } ?>

    Плюс, вариант второй, как я писал выше: у рекламы Яндекса блоки с одним и тем же ID, так что можно попробовать скрыть их с помощью CSS, цепляясь к ID страниц.

    Вы уверены, что у вас не включен AdBlock?

    Специально всё отключил, но рекламы всё равно не увидел 🙂

    ΞX.MI, странно. Почему я рекламу вижу, при чём во всех установленных у меня браузерах (Google Chrome, Atom и Edge), а вы её не видите?
    С другим контентом не пробовал.
    Я прекрасно понимаю, что это можно сделать с помощью CSS, но не знаю как, потому что я не программист и вообще в этом ноль. Поэтому и пришёл сюда, чтобы умные люди подсказали, какой CSS нужно добавить и где.
    P.S. У рекламы Яндекса каждый блок имеет свой ID. Я скрывал боковые рекламные блоки в мобильной версии сайта с помощью CSS и прописывал каждый блок. Выглядит вот так:

    }
    @media screen and (max-width: 768px) {
      #yandex_rtb_R-A-00000-00 {
        display: none;
      } 

    Как сделать такое же, но для отдельных страниц?

    • Ответ изменён 1 неделя, 4 дня назад пользователем jackson1979.

    jackson1979, для отдельных страниц надо ваш селектор #yandex_rtb_R-A-00000-00 дополнить уникальным классом страницы/категории/записи, который можно подсмотреть в тэге <body>, примеры с вашего сайта:

    главная<body class="home page-template page-template-template-homepage page-template-template-homepage-php page page-id-2142 wp-custom-logo homepage-default"> — класс page-id-2142;

    новости<body class="archive category category-55 wp-custom-logo hfeed"> — класс category-55;

    обратная связь<body class="page-template-default page page-id-1968 wp-custom-logo dojo-hide-title"> — класс page-id-1968 и т.д.

    Так что ваш пример:

    @media screen and (max-width: 768px) {
    	#yandex_rtb_R-A-00000-00 {
    		display: none;
    	}
    }

    должен измениться на что-то такое (пример для страницы «Обратная связь»):

    @media screen and (max-width: 768px) {
    	.page-id-1968 #yandex_rtb_R-A-00000-00 {
    		display: none;
    	}
    }

    т.е. добавили перед #yandex_rtb_R-A-00000-00 класс нужной нам страницы .page-id-1968. Это не путь джедая, но сработать должно.

    Всем спасибо за подсказки и советы, особенно ΞX.MI. Методом научного тыка у меня всё получилось. Правильное решение выглядит вот так:

    @media all {
    	.page-id-0000 #yandex_rtb_R-A-000000-00 {
    		display: none;
    	}
    }

    jackson1979, на здоровье 🙂

Просмотр 10 ответов — с 1 по 10 (всего 10)