В службе поддержки РСЯ спросили? По идее, они могли бы сделать плагин для своей сети. Есть плагины для вставки рекламного кода, может найдется подходящий https://ru.wordpress.org/plugins/search/ad/
Мне не нужен плагин для вставки рекламного кода. Я рекламный код вставлять умею. Мне нужно, чтобы этот рекламный код, находящейся в боковой панели, не работал на определённых страницах.
anonymized-14765447
(@anonymized-14765447)
jackson1979, привет.
Не увидел у вас сейчас на сайте вообще ни одного рекламного блока.
В теории вы можете попробовать скрывать лишние блоки, цепляясь к уникальным идентификаторам страниц.
На сайте есть рекламные блоки (4 на главной странице, 3 на других страницах и по 6 в записях). Вы уверены, что у вас не включен AdBlock? На счёт скрывать по идентификатору страниц, то такое решение я видел и его суть заключалась в том, что в sidebar.php нужно было добавить следующий код:
<?php if ( ! is_page ( array(111) ) ) { ?>
код рекламы Google Adsense
<?php } ?>
где 111 это ID страницы.
Я пробовал это решение, но с блоками РСЯ это почему-то не работает. Вот поэтому и спрашиваю, есть ли другой способ скрыть определённые блоки на определённых страницах? Может с помощью CSS или прописать что-то в sidebar.php, но что?
anonymized-14765447
(@anonymized-14765447)
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;
}
Как сделать такое же, но для отдельных страниц?
anonymized-14765447
(@anonymized-14765447)
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;
}
}
anonymized-14765447
(@anonymized-14765447)
jackson1979, на здоровье 🙂