Snippet

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

Jak ograniczyć dostęp do panelu administracyjnego WordPress dla określonych rólOgranicz dostęp do kokpitu WordPress dla wybranych użytkownikówOgranicz dostęp do wp-admin według roli użytkownikaZapobiegaj dostępowi do panelu administracyjnego WordPress dla niektórych użytkownikówKontroluj dostęp do panelu administracyjnego WordPress według roliOgranicz dostęp do zaplecza WordPress dla wybranych rólJak ograniczyć dostęp do obszaru administracyjnego w WordPressZablokuj określone role przed dostępem do panelu administracyjnego WordPressOgranicz dostęp do panelu administracyjnego WordPress dla konkretnych ról użytkownikówJak 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

1<?php 2// Restrict WordPress admin panel access to specific user roles 3 4function wp_dudecom_restrict_admin_access() { 5 // Check if the current user is trying to access the admin panel 6 if (is_admin()) { 7 // Get the current user's role 8 $user = wp_get_current_user(); 9 $allowed_roles = array('administrator', 'editor'); // Define roles that are allowed access 10 11 // Check if the user has one of the allowed roles 12 if (!array_intersect($allowed_roles, $user->roles)) { 13 // Redirect users without the allowed roles to the homepage 14 wp_redirect(home_url()); 15 exit; 16 } 17 } 18} 19add_action('admin_init', 'wp_dudecom_restrict_admin_access'); 20 21// Ensure that users without access cannot see the admin bar 22function wp_dudecom_hide_admin_bar_for_non_admins() { 23 // Get the current user's role 24 $user = wp_get_current_user(); 25 $allowed_roles = array('administrator', 'editor'); // Define roles that are allowed to see the admin bar 26 27 // Hide the admin bar for users without the allowed roles 28 if (!array_intersect($allowed_roles, $user->roles)) { 29 show_admin_bar(false); 30 } 31} 32add_action('after_setup_theme', 'wp_dudecom_hide_admin_bar_for_non_admins'); 33?>

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.