Reklama sponsora

Modyfikowanie menu w kokpicie



Po co modyfikować menu panelu?

Ostatnio napotkałem zlecenie w którym trzeba było zmodyfikować już zrobioną stronę internetową. W takiej sytuacji jest co najmniej dwa rozwiązania, można albo napisać stronę od nowa co przeważnie się robi chętniej lub wchodzi się w kod kogoś innego lub co gorsza masę wtyczek.

Jako że strona była jako taka a zmiany raczej techniczno kosmetyczne to nie chciało mi się robić strony od nowa a i budżet na to nie za bardzo był, więc postanowiłem poprzerabiać co się da tak jak klient sobie zażyczył.

Po zmodyfikowaniu wielu rzeczy i ułatwieniu klientowi korzystania z panelu poprzez uproszczenie wielu rzeczy za pomocą mojej ulubionej wtyczki ACF PRO pozostało jeszcze menu w kokpicie, całkiem długie ze względu na mnogość wtyczek ale z drugiej strony niezbyt przydatnych z punktu widzenia używania panelu przez klienta. Najlepszym rozwiązaniem tutaj było ukrycie części opcji a innych zmianę nazwy (bo na przykład aktualności były zrobione na „portfolio”).

Jak prosto zmodyfikować menu w kokpicie WordPressa?

Jako że utworzyłem sobie motyw potomny na potrzeby modyfikacji najlepszym miejscem do działań był plik functions.php z mojego motywu potomnego. Pracę zaczynamy od wykorzystania zaczepu admin_menu, który umożliwia modyfikację wybranych opcji.


add_action( 'admin_menu', 'wd_admin_menu_modif' );

Dalej piszemy naszą funkcję, która zajmie się wszystkim czego potrzebujemy. Nigdy nie wiem co jest pod jakim id więc zaczynam od sprawdzenia, która opcja menu jest pod jakim id.

 function wd_admin_menu_modif() {
     global $menu;
     global $submenu;
     die(json_encode($menu));
}

Po zaimplementowaniu takiego kodu i odświeżeniu panelu administratora otrzymam JSON z zawartością menu z którego się dowiem, która opcja ma jaką pozycję. Szukam interesującej mnie opcji spisuję id i nanoszę zmiany. W moim przypadku chciałem zmienić portfolio oferowane przez szablon nadrzędny na „Aktualności”, po krótkiej analizie okazało się że portfolio jest pod id 26 a więc zmieniam.

...
global $menu;
$menu[26][0] = 'Aktualności'; 
...

W sposób analogiczny możemy zmienić dowolną nazwę opcji submenu.

...
global $submenu;
$submenu['edit.php?post_type=hgr_portfolio'][5][0] = 'Aktualności';
...

Jak usunąć opcję z menu kokpitu WordPress?

W panelu było jeszcze trochę opcji, których nie chciałem udostępniać klientowi, a przynajmniej w prosty sposób, więc postanowiłem je po prostu ukryć. Nie jest to sprawa w żaden sposób skomplikowana, po prostu usunąłem interesujące mnie elementy tablicy menu.

...
unset($menu[11]);
unset($menu[27]);
unset($menu[28]);
...

Podsumowanie

I to by było na tyle, sztuczka łatwa, szybka i przyjemna. Tylko robić strony na WordPressach 😉

 


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *