Envato Elements - pobierasz co chcesz, ile chcesz

Dziś kolejny wpis z cyklu „da się, choć agencja twierdzi inaczej” – tym razem pokaże Wam prosty sposób na ukrycie górnego paska narzędziowego w WordPressie, który towarzyszy każdemu zalogowanemu użytkownikowi, również podczas normalnego korzystania ze strony (frontend), nawet gdy użytkownik z racji swojej roli (uprawnień) niewiele za jego pomocą może zrobić…

Wyłączamy pasek narzędziowy w WordPressie

Górny pasek narzędziowy w WordPressie pojawił się chyba z wersją 3.7 (a może 3.6?), więc jest z nami już na tyle długo, że chyba większość osób się do niego albo przyzwyczaiła, albo w ogóle nie wie, że kiedyś go nie było.

Wprawdzie na początku raczej dominowały negatywne opinie na jego temat, to w przeciwieństwie do usunięcia przycisku justowania i podkreślenia z edytora tekstowego w WordPressie 4.7 uważam, że jest on przydatny w codziennej pracy, zwłaszcza po tym, jak deweloperzy kolejnych wtyczek nauczyli się go wykorzystywać (choć czasem robi się na nim ciasno, ale to temat na ew. inny wpis).

Natomiast są takie sytuacje, gdy jest on… hm… powiedzmy, że przynajmniej zbyteczny – załóżmy, że na naszej stronie mamy blog, i każdy chętny może się zarejestrować, tak by komentarze pisać jako zalogowany użytkownik. W tej sytuacji najprawdopodobniej zostanie mu przypisana rola subskrybenta (subscriber), a więc i pasek narzędziowy WordPressa nie bardzo mu się przyda (chyba, że dla opcji wylogowania, ale o tym jak wstawić w dowolnym miejscu linki do zalogowania i wylogowania pisałem kilka dni temu), a będzie tylko przeszkadzał podczas normalnego korzystanie ze strony (frontend).

Na szczęście z pomocą kilku linijek własnego kodu (functions.php lub własna wtyczka) możemy go wyłączyć:

function webinsider_wp_remove_admin_bar() {
    if ( !is_admin() && current_user_can( 'subscriber' ) ) {
        show_admin_bar( false );
    }
}
add_action( 'after_setup_theme', 'webinsider_wp_remove_admin_bar' );

Powyższy kod wyłączy pasek narzędziowy dla użytkowników z grupy „subscriber”, ale tylko gdy będą przeglądać stronę – pasek będzie widoczny w panelu zarządzania WordPressem.

Możemy też wyłączyć pasek dla wszystkich poza użytkownikami z grupy „administrator”:

function webinsider_wp_remove_admin_bar() {
    if ( !is_admin() && !current_user_can( 'administrator' ) ) {
        show_admin_bar( false );
    }
}
add_action( 'after_setup_theme', 'webinsider_wp_remove_admin_bar' );

Lub zostawić go tylko dla użytkowników, którzy mają uprawnienia do zarządzania ustawieniami strony:

function webinsider_wp_remove_admin_bar() {
    if ( !is_admin() && current_user_can( 'manage_options' ) ) {
        show_admin_bar( false );
    }
}
add_action( 'after_setup_theme', 'webinsider_wp_remove_admin_bar' );

Current user can, czyli role i uprawnienia

Tutaj warto chyba napisać coś więcej o funkcji „current_user_can”, którą wykorzystujemy w powyższych przykładach, a która sądząc po nazwie raczej powinna być używana do sprawdzania uprawnień jakie posiada dany użytkownik (np. „manage_options”) niż to, do jakiej grupy należy.

Natomiast w pomocy dla deweloperów WordPressa przeczytamy, że (aktualnie) funkcja ta ma zastosowanie zarówno do sprawdzania uprawnień, jak i ról użytkowników:

Description: Whether current user has capability or role.

Od razu też zachęcam do zapoznania się z dokumentacją WordPressa dotyczącą ról i uprawnień, dzięki czemu zapewne łatwiej będzie Wam dobrać odpowiedni warunek, nie tylko dla sytuacji opisanej w tym wpisie…

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Janusz i Janusz skorzystali z promocji dla czytelników WebInsider.pl i zapłacili 80% mniej za księgowość internetową wFirma
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera!