Панель администратора и исправлена ​​проблема с заголовком?


9

Я сделал так, чтобы мой заголовок имел фиксированную верхнюю позицию. Когда вы вошли в WordPress, панель навигации wp admin покрывает верхнюю часть моего заголовка, что делает невозможным доступ к моей главной навигации. Я хотел бы, чтобы навигационная панель администратора wp выдвигала мою верхнюю навигацию ниже, чтобы оба были видны. Кто-нибудь знает какое-либо решение, чтобы решить эту проблему?

Пример моей проблемы можно найти на ... www.nickriversdesign.com/dev

Ответы:


8

в вашем CSS вы можете попробовать что-то вроде: body.logged-in{margin-top:20px;}или, если это не работает какой-то другой код, используя .logged-inкласс


6
Это (неправильно) влияет на всех зарегистрированных пользователей. Рассмотрим ответ Брента вместо этого.
Крис Берджесс

22

Попробуйте добавить это в свой файл CSS:

body.admin-bar #branding-wrap{top: 28px;} 
body.admin-bar #wrapper{margin-top: 145px;}

body.admin-barзаявление на фронте будет убедиться , что эти стили только получить применяется , когда панель администратора видна.


1
body.admin-bar - это правильный селектор (и это правильный ответ). Ответ Zach L влияет на всех вошедших в систему пользователей, но только вошедшие в систему пользователи с разрешениями на редактирование контента имеют панель администратора видимой и нуждаются в перемещении заголовка вниз по странице.
Крис Берджесс

интересно ... У меня никогда не было настройки с пользователями без этих разрешений. Я представляю его так же, как если бы в настройках пользователя они отключили админ-бар.
Зак Лысобей

Примечание к версии: .admin-barбольше не отображается в WordPress 4. Теперь он #wpadminbarвызывается и не переносит содержимое, поэтому вышеописанное не может быть применено к версии 4+
Raptor

Также доступна версия SASS вместе с объяснением разрешений для мобильных телефонов / настольных компьютеров (адаптивные веб-сайты) и подходом, ориентированным на
министр

Как это будет работать, когда пользователь прокручивает страницу вниз? Тогда панель навигации wp застрянет «почти в верхней части экрана», что выглядит довольно глупо
FooBar

1

Я полагаю, что на устройствах с меньшей шириной wpadminbar не является фиксированным. Поэтому, если вы прокручиваете документ на смартфоне, панель администратора будет следовать за прокруткой и не будет оставаться в верхней части окна. Имея это в виду, почему бы не добавить немного javascript в нижний колонтитул вашей темы сразу после wp_head()звонка. Таким образом, мы можем указать ширину устройства и определить, есть ли в документе админ-бар. Затем просто создайте несколько правил CSS и добавьте их в заголовок документа - как показано ниже!

<script>
( function(e) {
    var ab = document.getElementById( 'wpadminbar' );
    if ( typeof( ab ) === 'object' && window.innerWidth >= 610 ) {
        var abh = ab.offsetHeight || ab.clientHeight || ab.scrollHeight;
        var style = document.createElement( 'style' );
        style.id = 'adminbar_main_nav_controle_rules';
        document.getElementsByTagName( 'head' )[0].appendChild( style );
        var rules = document.createTextNode( 'body.admin-bar .main-navigation.fixed { margin-top: ' + abh + 'px !important; }' );
        style.appendChild( rules );
        console.debug( 'wpadmibar space is covered' );
    }
})();
</script>

Предполагая, что у вашей навигации есть класс, 'main-navigation'и при прокрутке вы добавляете 'fixed'к нему другой класс . Измените CSS, чтобы настроить таргетинг на панель навигации, заменив его тем, 'body.admin-bar .main-navigation.fixed'каким вы хотите настроить таргетинг на свой.

Это может быть улучшено, например, проверяя, исправлена ​​ли админ-панель или нет, но сейчас, я надеюсь, это поможет.


1

Попробуйте это для WordPress 4+. Он проверяет, присутствует ли админ-панель, и, если да, немного сдвиньте фиксированный заголовок, чтобы компенсировать это.

    //fix for admin bar
    if ($('#wpadminbar')[0])
        $('.site-header').css('top', '32px')

1
Пожалуйста, отредактируйте свой ответ и добавьте объяснение: почему это может решить проблему?
fuxia

Изменение '.site-header' на 'body' заставило меня работать.
Кадзи

1

Это работает также

body.logged-in > header {  
    margin-top: 32px;  
}  

Пожалуйста, попробуйте добавить немного объяснения - это позволит ОП и будущим пользователям узнать и понять, что происходит, а не просто быть местом, где люди получают свой код, написанный для них. Спасибо за ответы.
Тони Джукич

0

Я просто использовал этот CSS.

body.admin-bar #main-header  {
padding-top: 32px }


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.