Customizacja Panelu Administratora WordPress: Przewodnik Dewelopera 2026
PL

Customizacja Panelu Administratora WordPress: Przewodnik Dewelopera 2026

5.00 /5 - (35 głosów )
Spis treści

Kiedy oddajesz stronę klientowi, domyślny panel administracyjny często przytłacza. Pełno w nim “powiadomień o promocjach”, mylących menu jak “Komentarze” (gdy są wyłączone) i technicznego żargonu.

Generyczny kokpit mówi “Zainstalowałem motyw”. Dostosowany kokpit mówi “Zbudowałem profesjonalną aplikację”.

W tym przewodniku opanujemy Customizację Panelu WordPress, aby stworzyć czyste doświadczenie White Label dla Twoich klientów.

Wnętrze WordPressa - Panel administracyjny, szablony

Jak dodać własny element menu administracyjnego lub Toolbar

1. Sprzątanie Menu Administratora

Pierwszym krokiem jest remove_menu_page. Większość klientów nie musi widzieć “Narzędzi” czy “Ustawień”.

Dobra Praktyka: Sprawdzaj uprawnienia (capabilities), nie ID użytkownika. Nigdy nie ukrywaj menu przed Administratorami.

/**
 * Oczyść Menu Admina dla Nie-Administratorów
 */
function wppoland_clean_admin_menu() {
    // Zawsze pozwalaj Administratorom widzieć wszystko
    if ( current_user_can( 'manage_options' ) ) {
        return;
    }

    // Usuń menu główne
    remove_menu_page( 'tools.php' );                // Narzędzia
    remove_menu_page( 'options-general.php' );      // Ustawienia
    remove_menu_page( 'edit-comments.php' );        // Komentarze
    remove_menu_page( 'edit.php?post_type=acf-field-group' ); // ACF (Bezpieczeństwo!)

    // Usuń podmenu
    remove_submenu_page( 'themes.php', 'theme-editor.php' );
    remove_submenu_page( 'plugins.php', 'plugin-editor.php' );
}
add_action( 'admin_menu', 'wppoland_clean_admin_menu', 999 );

Ostrzeżenie: remove_menu_page tylko ukrywa link. Sprytny użytkownik nadal może wejść na /wp-admin/options-general.php bezpośrednio. Aby zablokować dostęp, weryfikuj uprawnienia na current_screen lub admin_init.

2. Dodawanie Własnych Stron Menu

Nie używaj frameworków opcji motywu, jeśli nie musisz. Natywne API jest szybkie i lekkie.

function wppoland_register_support_page() {
    add_menu_page(
        'Wsparcie Klienta',         // Tytuł Strony
        'Wsparcie',                 // Tytuł Menu
        'edit_posts',               // Uprawnienie
        'wppoland-support',         // Slug
        'wppoland_render_support',  // Callback
        'dashicons-sos',            // Ikona
        90                          // Pozycja
    );
}
add_action( 'admin_menu', 'wppoland_register_support_page' );

function wppoland_render_support() {
    ?>
    <div class="wrap">
        <h1>Potrzebujesz Pomocy?</h1>
        <div class="card">
            <h2>Skontaktuj się z Deweloperem</h2>
            <p>Email: <a href="mailto:dev@wppoland.com">dev@wppoland.com</a></p>
            <p>Telefon: +48 123 456 789</p>
        </div>
    </div>
    <?php
}

3. Dostosowywanie Paska Narzędzi (Toolbar)

Toolbar jest widoczny na froncie dla zalogowanych użytkowników. To idealne miejsce na “Szybkie Akcje” jak “Wyczyść Cache” czy “Edytuj w Page Builderze”.

function wppoland_customize_toolbar( $wp_admin_bar ) {
    // Usuń logo WordPress (Profesjonalizm)
    $wp_admin_bar->remove_node( 'wp-logo' );

    // Dodaj własną akcję
    $wp_admin_bar->add_node( [
        'id'    => 'clear-redis',
        'title' => '⚡ Wyczyść Cache',
        'href'  => admin_url( 'admin-post.php?action=wppoland_clear_cache' ),
        'meta'  => [ 'title' => 'Opróżnij Redis Object Cache' ]
    ] );
}
add_action( 'admin_bar_menu', 'wppoland_customize_toolbar', 999 );

4. Widżety Kokpitu: Ekran Powitalny

Kiedy klient się loguje, ląduje w Kokpicie. Domyślne widżety (“Wydarzenia WordPress”, “Szybki szkic”) są dla niego zazwyczaj bezużyteczne.

Zastąp je własnym widżetem statusu.

function wppoland_dashboard_widgets() {
    // Usuń domyślne
    remove_meta_box( 'dashboard_primary', 'dashboard', 'side' );   // WP Events
    remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); // Szybki szkic

    // Dodaj własny widżet
    wp_add_dashboard_widget(
        'wppoland_status_widget',
        'Status Strony',
        'wppoland_render_status_widget'
    );
}
add_action( 'wp_dashboard_setup', 'wppoland_dashboard_widgets' );

function wppoland_render_status_widget() {
    echo '<p>✅ <strong>WordPress Core</strong>: Aktualny</p>';
    echo '<p>✅ <strong>Kopie Zapasowe</strong>: Codzienne (Ostatnia: 2:00)</p>';
    echo '<p>📈 <strong>Ruch</strong>: <a href="/pl/#">Zobacz Analitykę</a></p>';
}

5. White Labeling przez CSS

Na koniec, dodaj trochę szlifu. Załaduj własny plik CSS dla panelu admina, aby pasował do brandingu klienta (lub Twojej agencji).

function wppoland_admin_styles() {
    echo '<style>
        /* Zmiana koloru paska admina */
        #wpadminbar { background: #2c3e50; }
        
        /* Wyróżnienie własnego menu */
        #toplevel_page_wppoland-support .wp-menu-image { color: #e74c3c !important; }
        
        /* Ukrycie irytujących powiadomień wtyczek */
        .notice.is-dismissible { display: none; } /* Używaj ostrożnie! */
    </style>';
}
add_action( 'admin_head', 'wppoland_admin_styles' );

6. Personalizacja Ekranu Logowania

Pierwszy punkt styku klienta z Twoim systemem to ekran logowania (/wp-login.php). Zamiast logo WordPressa, pokaż logo klienta.

Zmiana logo na stronie logowania WordPress

function wppoland_login_logo() {
    echo '<style type="text/css">
        #login h1 a {
            background-image: url(' . get_stylesheet_directory_uri() . '/assets/images/client-logo.png);
            background-size: contain;
            width: 100%;
            height: 80px;
        }
    </style>';
}
add_action( 'login_head', 'wppoland_login_logo' );

Podsumowanie

Dostosowywanie panelu admina to nie tylko estetyka. To User Experience (UX). Usuwając bałagan i eksponując ważne narzędzia, zmniejszasz liczbę zgłoszeń do supportu i sprawiasz, że klienci czują, iż posiadają produkt klasy premium.