Скрыть div, который присутствует на всех страницах, на одной конкретной странице

23 июл. 2013 г., 18:17:17
Просмотры: 38.6K
Голосов: 5

Как я могу скрыть div (который содержит изображение) для определенной страницы WordPress?

Я думаю, что ID моей страницы 46:

описание идентификатора страницы WordPress

Вот div, который я пытаюсь изменить:

<div id="static-footer-image" style="position:absolute; bottom: -15px; z-index: 501;">
    <img src="images/background-bottom.png"/>
</div>

И связанный CSS код в моем основном CSS файле:

#static-footer-image body.page-id-46 { 
     display: none; 
}

Он все еще отображается. Что мне нужно сделать, чтобы это исправить?

3
Комментарии

Ваше CSS-правило написано наоборот, body не является дочерним элементом #static-footer-image, должно быть body.page-id-46 #static-footer-image

Milo Milo
23 июл. 2013 г. 18:21:05

спасибо, но оно всё ещё отображается.

David Tunnell David Tunnell
23 июл. 2013 г. 18:27:43

вы уверены насчёт ID страницы? проверьте тег body в отрендеренном HTML-коде этой страницы и подтвердите, пожалуйста.

aldo.roman.nurena aldo.roman.nurena
31 июл. 2013 г. 08:58:10
Все ответы на вопрос 6
0
11

Используйте следующий CSS

body.page-id-46 #static-footer-image {
     display: none;
}

и убедитесь, что класс "page-id-46" применен к тегу body, затем очистите кеш. Попробуйте также в другом браузере или в режиме инкогнито.

23 июл. 2013 г. 18:49:31
1

Если это ID страницы, селектор должен быть

body#page-id-46 #static-footer-image

а не

body.page-id-46 #static-footer-image
23 июл. 2013 г. 18:54:12
Комментарии

нет, WP выводит для меня <body class="page page-id-28 page-template ...">, так что это класс

aldo.roman.nurena aldo.roman.nurena
31 июл. 2013 г. 08:53:34
2

Судя по структуре URL, у вас активна структура постоянных ссылок %postname%. В этом случае немного внутреннего CSS может помочь, а синтаксис будет таким: in_page('page_slug'):

<?php // Выполнить действие только на конкретной странице в WP ?>
<?php if( in_page('resourses') ) { ?>
<style>
  #static-footer-image{
      display: none;
  }
</style>
<?php } ?>
23 июл. 2013 г. 20:31:22
Комментарии

это создает ненужную нагрузку на сервер, я бы выбрал ответ M-R

aldo.roman.nurena aldo.roman.nurena
31 июл. 2013 г. 08:54:12

Согласен. Конечно, он прав.

Mayeenul Islam Mayeenul Islam
31 июл. 2013 г. 13:04:46
0

У вас может быть свойство display в CSS, так что вы можете попробовать:

body.page-id-46 #static-footer-image {
     display: none !important;
}
31 июл. 2013 г. 08:59:04
0

У меня сработало так:

body .page-id-46 #static-footer-image { 
     display: none; 
}

а так не сработало:

body.page-id-46 #static-footer-image { 
     display: none; 
}

После body нужно поставить пробел и написать .page-id-46 #static-footer-image{display: none;} Еще раз проверьте, это класс или id. В моем случае это id, вот мой код для примера:

body #post-448 .entry-meta-bar
{
    display:none;
}

Надеюсь, это вам поможет.

30 июл. 2017 г. 17:31:42
2

Как будет выглядеть код, если нужно исключить виджет?

CSS-код:

body.page-id-60748,
.widget_its-single-post { 
     display: none !important; 
}
27 февр. 2022 г. 14:09:34
Комментарии

Это сбивает с толку, потому что выглядит так, будто вы задаёте ещё один вопрос, но при этом похоже, что вы отвечаете на вопрос.

Tony Djukic Tony Djukic
27 февр. 2022 г. 18:44:35

У меня было больше связано с виджетами, а не с div, но в любом случае я разобрался, спасибо!

Bennetts Design Bennetts Design
28 февр. 2022 г. 17:24:35