Удобное скрытие административной панели в WordPress

Удобное скрытие административной панели (Admin Toolbar) в WordPress

Часто административная панель в WordPress мешает дизайну сайта, особенно когда она расположена вверху на экране. Это может создавать неудобства при прокрутке или при наличии других плавающих панелей. В таких случаях стоит подумать о том, как сделать эту панель более удобной в использовании.

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

Я пробовал различные плагины, но многие из них оказались слишком сложными. Поэтому я решил написать собственный код, который делает панель сворачиваемой. В некоторых случаях это оказывается очень удобно, так как панель не только не мешает, но и может вмещать больше элементов.

Как это работ��ет

Панель появляется, когда вы наводите курсор на иконку в верхнем левом углу, и отображается в вертикальном виде, а не горизонтальном. Вот как это выглядит на теме Twenty Twenty-One:

Пример работы панели

Код для сворачивания панели

Чтобы применить это решение, вам нужно вставить следующий код в файл functions.php вашей темы:


<?php

/**

  • Сворачивает ADMIN-BAR (панель инструментов) в верхний левый угол.
  • @version 1.0
    */
    final class Kama_Collapse_Toolbar {

    public static function init(){
    add_action( 'admin_bar_init', [ CLASS, 'hooks' ] );
    }

    public static function hooks(){

    // убираем отступы панели
    remove_action( 'wp_head', '_admin_bar_bump_cb' );
    
    add_action( 'wp_head', [ __CLASS__, 'collapse_styles' ] );

    }

    public static function collapse_styles(){

    // ничего не делаем для административной панели.
    // Уберите это, если хотите сворачивать панель и в админке.
    if( is_admin() ){
        return;
    }
    
    ob_start();
    ?>
    
    

    }

}

Kama_Collapse_Toolbar::init();

Альтернативный простой вариант реализации

Если вы хотите использовать другой, более простой вариант, вы можете вставить следующий код:


<?php
/**

  • Версия: 1.0
    */

add_action( 'init', [ Collapse_Admin_Bar::class, 'init' ] );

final class Collapse_Admin_Bar {

public static function init(): void {
    add_action( 'admin_bar_init', [ __CLASS__, 'hooks' ] );
}

public static function hooks(): void {
    // убираем отступы панели
    remove_action( 'wp_head', '_admin_bar_bump_cb' );

    add_action( 'wp_enqueue_scripts', [ __CLASS__, 'collapse_styles' ] );
}

public static function collapse_styles(): void {
    $styles = << .ab-item::after {
            content: '';
            position: absolute;
            top: 7px;
            left: 7px;
            z-index: -1;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background-color: #fff;
            opacity: .8;
            transition: opacity .2s ease 1s;
        }

        #wpadminbar:hover #wp-admin-bar-site-name > .ab-item::after {
            opacity: 0;
            transition-delay: 0s;
        }

        #wpadminbar:not( :hover ) > * {
            pointer-events: none;
        }

        #wpadminbar:hover {
            transition-delay: 0s;
            clip-path: polygon(0 0, 100% 0, 100% 100vh, 0 100vh);
        }

        @media screen and ( max-width: 782px ) {
            #wpadminbar {
                clip-path: polygon(0 0, 50px 0, 50px 100%, 0 100%);
            }
        }
    CSS;

    wp_register_style( 'collapse-admin-bar', false ); 
    wp_add_inline_style( 'collapse-admin-bar', $styles );
    wp_enqueue_style( 'collapse-admin-bar' );
}

}

Вставьте этот код в functions.php, или создайте из него плагин, если часто меняете шаблоны.

Дополнительные замечания

Для того чтобы код работал, в функции footer.php вашей темы должна вызываться функция wp_footer().

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

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *