Jak ukryć informację o aktualizacji WP dla zalogowanych użytkowników?
- Poziom trudności:
Pomogłem rozwiązać Twój problem? Wspieraj moje działania bym pisał więcej:
WordPress kilka razy w roku wydaje większe aktualizacje, o których zostają poinformowani zarówno administratorzy logujący się do Kokpitu, jak również pozostali użytkownicy posiadający dostęp do panelu. Nie zachęcam do wyłączania tych aktualizacji, bowiem jest szczególnie ważne żeby o nich wiedzieć i łatać swoje strony możliwie jak najszybciej. Jednak równie istotne jak szybkie aktualizowanie jest natychmiastowe ukrycie informacji o konieczności aktualizacji dla wszystkich osób, którzy tego przypomnienia nie muszą widzieć.
Wyobraź sobie hipotetyczną sytuację. Posiadasz stronę pozwalającą na rejestrowanie nowych użytkowników. Z drugiej strony dbasz o to, by użytkownicy za wiele na stronie po zalogowaniu nie widzieli. Tymczasem kiedy zalogowałeś się na takiego testowego użytkownika chwilę po tym jak wyszła nowa aktualizacja twoim oczom ukazała się znajoma informacja:
Całe szczęście nikt za wyjątkiem administratora nie może podjąć się aktualizacji, jednak informowanie swoich użytkowników o nieaktualnej wersji – szczególnie jeśli ta poprzednia zawierała lukę bezpieczeństwa – nie jest zbyt rozsądne.
Dlatego właśnie chciałbym Ci zaproponować szybkie, nieobciążające WordPressa rozwiązanie, za którego pomocą będziesz mógł ukryć informację o aktualizacji dla wszystkich, którzy nie posiadają konta Administratora. Od tej pory każdy Subskrybent, Współpracownik, Autor czy Redaktor otwierając Kokpit nie będzie widział komunikatu o aktualizacji.
Z tego wpisu dowiesz się:
- jak ukryć informację o konieczności aktualizacji WP
- w jaki sposób ukryć zakładki w Kokpicie (z lewej strony) do których zalogowani nie powinni mieć dostępu
- jakie wtyczki odpowiadają za podobne działania i m.in. sposób na przekierowanie użytkownika logującego się do Kokpitu
Aby w ten sposób zabezpieczyć swoją witrynę wystarczy, że umieścisz poniższy fragment kodu w pliku functions.php:
<pre id="fvch-code-0" class="">function ukryj_informacje_o_aktualizacji_wp_dla_wszystkich_oprocz_admina() { if (!current_user_can('update_core')) { remove_action( 'admin_notices', 'update_nag', 3 ); remove_action( 'admin_notices', 'maintenance_nag', 10 ); } } add_action( 'admin_head', 'ukryj_informacje_o_aktualizacji_wp_dla_wszystkich_oprocz_admina', 1 );</pre>
A skoro już robimy porządki
Jeśli udało Ci się ukryć informację o aktualizacji dla użytkowników to może pójdziemy krok dalej i ukryjemy wspólnie zakładki w panelu, do których użytkownicy nie mają dostępu, a mimo to je widzą?
Podobnie jak poprzednio w pliku functions.php umieść:
<pre class="lang:php decode:true">function usun_pozycje_w_menu_administratora() { $usun_pozycje_w_menu = array(__('Profil')); global $menu; end ($menu); while (prev($menu)){ $item = explode(' ',$menu[key($menu)][0]); if(in_array($item[0] != NULL?$item[0]:"" , $usun_pozycje_w_menu)){ unset($menu[key($menu)]);} } } add_action('admin_menu', 'usun_pozycje_w_menu_administratora');</pre>
W drugiej linii powinieneś wpisać pozycje, która jest do usunięcia. Jeśli masz kilka pozycji, które chcesz usunąć, wtedy drugą linię zastąp:
<pre class="lang:php decode:true ">$remove_menu_items = array(__('Pozycja1'),__('Pozycja2'),__('Pozycja3'));</pre>
a następnie wprowadź pozycje, które zamierzasz usunąć.
Ponieważ to rozwiązanie nie sprawdza się we wszystkich przypadkach, dlatego polecam użyć w ostateczności wtyczki, która zrobi to samo:
Admin Menu Editor – oprócz ukrywania niechcianych pozycji pozwala na edycję menu admina, zmianę kolejności, ukrywanie dowolnych pozycji, zmianę nazwy, a także dodawanie własnych pozycji w menu.
AG Custom Admin – ukrywa niechciane pozycje z menu admina, pozwala na ukrycie górnego paska ale także na dodanie własnych pozycji, zmianę kolorystyczną czy obrandowanie panelu logowania. Najciekawsza z wszystkich wtyczek, dająca wiele możliwości i niezawodna.
Remove Dashboard Access – pomaga w ukryciu wyłącznie podstrony z Kokpitem lub przekierowaniu użytkownika usiłującego wejść do Kokpitu w inne miejsce.
Pomogłem rozwiązać Twój problem? Wspieraj moje działania bym pisał więcej:
Komentarze — Napisz pierwszy komentarz
Czy powyższe wskazówki były skuteczne? Jeśli tak, podziel się swoimi spostrzeżeniami w komentarzu. Gdybyś chciał się podzielić ze mną skrawkiem kodu aby uzupełnić minikurs to skorzystaj z portalu pastebin.com i wyślij linka do kodu. Instrukcje jak to zrobić znajdziesz tutaj.