Jak dodać własną ikonę SVG do menu w panelu administratora?

Czasami przychodzi potrzeba dodania własnej ikony do menu w panelu użytkownika. Ot, powiedzmy, że piszemy dużą, skomplikowaną i zaawansowaną wtyczkę. Potrzebujemy mnóstwa miejsca na własne ustawienia (jak korzystać z Settings API możesz poczytać w dedykowanym kursie). Być może chcielibyście w takim przypadku dodać swoją ikonę do takiego menu? Ja to zrobiłem i efekt wygląda tak:

WordPress własna ikona SVG w panelu administratora Menu jest w tej chwili aktywne, więc ikona jest biała. Gdy jest nieaktywne, jest szara, jak reszta. Jak to zrobić? Na szczęście nie jest to takie trudne. Nazwałbym to nawet banalnie prostym.

Zacznę od miejsca menu. Moje menu ma wyświetlać ustawienia, dla różnych wtyczek, które buduję. Podjąłem więc decyzję o stworzeniu menu, które będzie zawierało w sobie ustawienia do wszystkich wtyczek, jakie piszę teraz i jakie, mam nadzieję, napiszę w przyszłości. Ot, jedna firma, jedno miejsce. Nie będzie się mylić, nie trzeba będzie szukać.

Przygotowałem sobie ikonę w programie do grafiki wektorowej, następnie przekonwertowałem ją do SVG i wyszło coś takiego:

Teraz dodaję pozycję do menu:

Przedostatnia pozycja to ikona właśnie. Więc trzeba ją dodać… w postaci łańcucha kodowanego w Base64. Ja zrobiłem to tak:

O czym trzeba pamiętać… o „fill” przy ścieżkach „path”, dlatego, że WordPress sam je sobie pokoloruje – w szarość, gdy ikona jest nieaktywna i na biało, gdy ikona jest aktywna. Prawda, że proste?