Как убрать пустые виджеты на WP

B
На сайте с 27.05.2018
Offline
141
534

Парни есть виджеты в боковой панели, где в одном есть реклама РСЯ и когда имеется адблок, то реклама убирается, а виджет остается рамкой. Как убрать пустой виджет, когда в нем нет релкамы по причине адблока. Второй виджет оглавление TOC настроенный на минимальное отображение H 3 штуки в контенте. Когда заголовков H в контенте менье 3, то виджет также остается пустым в рамке. Виджеты имеют ID. Пробовал:

ID:empty {
 display: none;
}

Не помогает.


png jkv3w7_d0thgr_2025-12-24_235821.png
Snake800
На сайте с 02.02.2011
Offline
236
#1
Попробуй навесить на него классы-триггеры "advertisment", "banner", "ad-banner" и т.п. Или/и, если возможно, поместить в родительский блок с такими классами или id. Либо попытаться сделать вывод блока через js-файл с явно "рекламным" названием. Адблок его сам выпилит и не выведет.
B
На сайте с 27.05.2018
Offline
141
#2
Snake800 #:
Адблок его сам выпилит и не выведет.
Он его в свой список добавит просто, потом в случае чего ни 1 виджет не будет виден, даже с обычным навигационным описанием. Было просто так уже на одном из-зсайтов. Связывался потом с админом адблока и просил убрать из листа class виджета :D
LA
На сайте с 05.09.2011
Offline
139
#3
Если там div, в котором реально ничего нет, даже другого HTML, то можно CSS навесить:

.my-div:empty {
  display: none;
}
Нужно смотреть исходник HTML, чтобы понять, один ли это див или несколько вложенных, на каком задана рамка и куда подвесить этот CSS, чтобы работало.


Snake800
На сайте с 02.02.2011
Offline
236
#4
Biomusor #:
Он его в свой список добавит просто, потом в случае чего ни 1 виджет не будет виден, даже с обычным навигационным описанием

Я имею ввиду блоки с разными наборами классов: <div class="normal">тут обычный блок</div> и <div class="advert">тут  блок с вызовом рекламы</div>.
Или я что-то не так понял?
Вячеслав Скоблей
На сайте с 31.07.2012
Offline
107
#5

У меня реализовано так. В блоке стоит код рекламы и если по какой-то причине рекламы нет (высота контейнера = 0), то показываю свой баннер:

<script>
setTimeout(function () {
    var container = document.querySelector("#blok");

    if (container.clientHeight == 0) {

//если в контейнере ничего нет, то делаете то, что вам нужно

         }

}, 2000);
</script>
Инструменты для WEB и SEO ( https://tools.100zona.com/?utm_source=searchengines.guru ) в одном месте
Volovikov
На сайте с 06.12.2016
Offline
130
#6
Пацаны, а нормальную тему купить не? 
Российский спорт ▶ https://russian-sports.ru
softerra
На сайте с 02.10.2023
Offline
115
#7
ID:empty {
 display: none !important;
}

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