Ogranicz dostęp do panelu administracyjnego dla wybranych ról w WordPressie

Jak ograniczyć dostęp do panelu administracyjnego WordPress dla określonych ról; Ogranicz dostęp do kokpitu WordPress dla wybranych użytkowników; Ogranicz dostęp do wp-admin według roli użytkownika; Zapobiegaj dostępowi do panelu administracyjnego WordPress dla niektórych użytkowników; Kontroluj dostęp do panelu administracyjnego WordPress według roli; Ogranicz dostęp do zaplecza WordPress dla wybranych ról; Jak ograniczyć dostęp do obszaru administracyjnego w WordPress; Zablokuj określone role przed dostępem do panelu administracyjnego WordPress; Ogranicz dostęp do panelu administracyjnego WordPress dla konkretnych ról użytkowników; Jak zapobiec dostępowi niektórych użytkowników do wp-admin;

Objaśnienie

Jeśli chcesz mieć pewność, że tylko niektóre osoby mogą uzyskać dostęp do obszaru administracyjnego WordPressa, ten kod jest dla Ciebie. Sprawdza, kto próbuje wejść do panelu administracyjnego i wpuszcza ich tylko wtedy, gdy mają odpowiednią rolę.

Oto jak to działa:

  • Kod najpierw sprawdza, czy ktoś próbuje uzyskać dostęp do obszaru administracyjnego.
  • Następnie sprawdza rolę użytkownika. W tym przypadku dozwolone są tylko role 'administrator' i 'edytor'.
  • Jeśli użytkownik nie ma jednej z tych ról, zostaje odesłany z powrotem na stronę główną.

Dodatkowo, ukrywa pasek administracyjny dla użytkowników, którzy nie powinni go widzieć. Oznacza to, że jeśli nie jesteś 'administratorem' ani 'edytorem', nie zobaczysz paska administracyjnego na górze strony.

Aby zmienić, kto może uzyskać dostęp do obszaru administracyjnego lub zobaczyć pasek administracyjny, wystarczy zaktualizować role w kodzie. Na przykład, jeśli chcesz, aby 'autor' miał dostęp, dodaj 'autor' do listy dozwolonych ról.

Kod

<?php
// Restrict WordPress admin panel access to specific user roles

function wp_dudecom_restrict_admin_access() {
    // Check if the current user is trying to access the admin panel
    if (is_admin()) {
        // Get the current user's role
        $user = wp_get_current_user();
        $allowed_roles = array('administrator', 'editor'); // Define roles that are allowed access

        // Check if the user has one of the allowed roles
        if (!array_intersect($allowed_roles, $user->roles)) {
            // Redirect users without the allowed roles to the homepage
            wp_redirect(home_url());
            exit;
        }
    }
}
add_action('admin_init', 'wp_dudecom_restrict_admin_access');

// Ensure that users without access cannot see the admin bar
function wp_dudecom_hide_admin_bar_for_non_admins() {
    // Get the current user's role
    $user = wp_get_current_user();
    $allowed_roles = array('administrator', 'editor'); // Define roles that are allowed to see the admin bar

    // Hide the admin bar for users without the allowed roles
    if (!array_intersect($allowed_roles, $user->roles)) {
        show_admin_bar(false);
    }
}
add_action('after_setup_theme', 'wp_dudecom_hide_admin_bar_for_non_admins');
?>

Instrukcja

Lokalizacja pliku: Dodaj kod do pliku functions.php swojego motywu lub do pliku własnej wtyczki.

Wymagania wstępne: Brak

Kroki wdrożenia:

  1. Uzyskaj dostęp do panelu administracyjnego WordPress.
  2. Przejdź do Wygląd > Edytor motywu, jeśli dodajesz kod do functions.php, lub przejdź do Wtyczki > Edytor, jeśli używasz własnej wtyczki.
  3. Znajdź i otwórz plik functions.php lub plik swojej wtyczki.
  4. Skopiuj podany fragment kodu.
  5. Wklej kod na końcu pliku.
  6. Zapisz zmiany.
  7. Przetestuj wdrożenie, logując się z różnymi rolami użytkowników, aby upewnić się, że tylko role 'administrator' i 'redaktor' mogą uzyskać dostęp do panelu administracyjnego i zobaczyć pasek administracyjny.

Uwaga: Jeśli chcesz zezwolić na dodatkowe role, zmodyfikuj tablicę $allowed_roles w kodzie, aby uwzględnić te role.

Jeśli potrzebujesz dalszej pomocy lub zaawansowanej personalizacji, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy w zakresie WordPress.