Za kierownikiem projektu ds. nowych pakietów zespół ds. recenzji motywów wprowadza rozwiązanie do obsługi powiadomień administracyjnych
Opublikowany: 2019-09-19W ramach planu Zespołu ds. Przeglądu Motywów WordPressa, aby ograniczyć natrętne powiadomienia administratorów, zespół udostępnił publicznie wersję 1.0 swojego pakietu powiadomień dla administratorów. Nowy pakiet zapewnia autorom motywów standardowy interfejs API do wyświetlania powiadomień administracyjnych.
Ari Stathopoulos przejął kierownictwo projektu pakietów pod koniec sierpnia. Stathopoulos jest głównym programistą i twórcą wysoko ocenianej platformy dostosowywania Kirki, która obecnie ma ponad 300 000 aktywnych instalacji jako wtyczka. Jednak framework jest również dostępny jako oddzielne moduły, które autorzy motywów mogą łączyć w swoich motywach.
Pakiet Admin Notices jest trzecim pakietem stworzonym przez zespół i pierwszym, którego inicjatorem jest Stathopoulos.
Dodanie podstawowego powiadomienia administratora w WordPressie jest stosunkowo łatwe dla większości programistów. Jednak obsługa funkcji, takich jak trwałe akcje, które można odrzucić, jest bardziej złożona. Pakiet powiadomień administratora obsługuje to po wyjęciu z pudełka.
Niektóre opcje pakietu obejmują możliwość:
- Ustaw tytuł i wiadomość.
- Wybierz typ, który dodaje w odpowiedniej klasie interfejsu użytkownika (informacje, sukces, ostrzeżenie, błąd).
- Wybierz, na których ekranach administracyjnych pojawi się powiadomienie.
- Ogranicz wiadomość według możliwości użytkownika, aby nie pojawiała się dla wszystkich użytkowników.

Powyższy zrzut ekranu pokazuje przykład podstawowego wyjścia powiadomienia administratora dla czterech dostępnych typów. Akcja zamknięcia jest obsługiwana przez JavaScript i działa bez ponownego ładowania strony. Po odrzuceniu użytkownicy nie będą już widzieć powiadomienia.
„Myślę, że najtrudniejszą rzeczą w tym było podjęcie decyzji, jak restrykcyjny chcemy, aby był”, powiedział Stathopoulos o wyzwaniach tworzących ten pakiet. Pakiet ogranicza autorów motywów do elementów akapitu, łącza, pogrubienia i kursywy w wersji 1.0. Nie pozostawia wiele miejsca na eksperymenty, ale celem jest standaryzacja. Im więcej elementów jest dozwolonych, tym bardziej prawdopodobne jest, że narzędzie nie rozwiąże problemu zespołu polegającego na nierzucaniu powiadomień administracyjnych.
Powiadomienia użytkownika to złożony problem
WordPress nie zapewnia formalnego interfejsu API dla powiadomień użytkowników. Zapewnia jednak standardowy zestaw klas CSS i haczyk do dołączania powiadomień. Kodeks zawiera również kilka przykładów najlepszych praktyk. Brak formalnego API pozostawił autorów motywów i wtyczek samym sobie. Użytkownicy ucierpieli z powodu bardzo różnych implementacji i typowych problemów, takich jak reklamy, których nie można odrzucić.
Tim Hengeveld zaproponował API Centrum Powiadomień na Trac w 2018 roku. Zgłoszenie zawiera zdrową, trwającą dyskusję i kilka propozycji interfejsu użytkownika. Propozycja jest nadal oznaczona jako „Oczekuje na sprawdzenie” i jest mało prawdopodobne, że zostanie wysłana wcześniej niż WordPress w wersji 5.4 lub nowszej.
Obecnie wiele wtyczek i motywów wykorzystuje również powiadomienia administratora do dołączania użytkowników, co stanowi osobny problem wymagający rozwiązania. Istnieje 4-letnie zgłoszenie, które omawia wprowadzanie nowych użytkowników WordPressa, ale nie ma zbyt wiele ruchu, aby rozwiązać ten problem w przypadku wtyczek i motywów.
Chociaż pakiet TRT nie rozwiązuje wszystkich problemów związanych z powiadomieniami użytkownika, pomaga ograniczyć niektóre krótkoterminowe szkody.

Więcej pakietów w zakładach
Obecnie budowane są kolejne pakiety, a kolejne są na etapie planowania.
Celem całego projektu jest zapewnienie autorom motywów modułów, które mogą łączyć ze swoimi motywami. Wszystkie pakiety są napisane w PHP 5.6+ w nadziei, że popchną autorów motywów w kierunku bardziej nowoczesnych praktyk kodowania (relatywnie, ponieważ PHP 7.4 zostanie wydane w tym roku). Pomoże to również usprawnić proces recenzji, jeśli więcej autorów motywów przyjmie pakiety, zamiast budować wszystko we własnym zakresie.
„Jeśli stworzymy pakiety dla najbardziej pożądanych rzeczy, mamy nadzieję, że umożliwimy ludziom łatwiejsze tworzenie wysokiej jakości motywów” – wyjaśnił Stathopoulos. „Myślę o pakietach jako o elementach budujących motywy”.
Stathopoulos pracuje nad kontrolką dostosowania do wyboru koloru z przezroczystością alfa, która może zostać wydana już w przyszłym tygodniu. Zapewni to użytkownikom motywów większą kontrolę nad tym, jak wyglądają ich kolory dla motywów, które je implementują.
„Po zbudowaniu podstaw chcę skupić się na pakietach, które poprawiłyby a11y i prywatność w motywach – dwóch obszarach, w których motywy nie wystarczają” – powiedział. „Pomogłoby to wielu ludziom i to jest ostatecznie naszym celem”.
W ciągu ostatnich kilku lat autorzy motywów przyzwyczaili się do instalowania pakietów JavaScript i CSS za pośrednictwem NPM. Jednak ich użycie Composera jako menedżera zależności PHP jest opóźnione. Po części może to wynikać z wcześniejszej niechęci WordPressa do podbijania minimalnej wersji PHP. Wiele pakietów dostępnych w Packagist, głównym repozytorium Composera, nie działa ze starszymi wersjami PHP. Niedawny skok WordPressa do PHP 5.6+ i plany przejścia na 7+ w przyszłości mogą skłonić więcej autorów motywów do rozważenia zarządzania zależnościami PHP.
TRT ma konto Packagist i udostępnił wszystkie swoje pakiety za pomocą Composera.
Nie ma jeszcze wymogu korzystania z pakietów
Obecnie nie ma planów, aby TRT zaczął wymagać korzystania z tych pakietów dla określonych funkcji, ale kilku członków zespołu zaproponowało to.
„Istnieją uzasadnione powody, aby wymusić korzystanie z tych pakietów, ale nie może to nastąpić z dnia na dzień” — powiedział Stathopoulos. „Chcemy, aby motywy w repozytorium miały jakieś standardy, to nie może być dziki zachód. Jakość kodu musi się poprawić. Te pakiety to sposób na ułatwienie życia ludziom i ostatecznie zaoszczędzenie czasu dla wszystkich”.
Stathopoulos jest otwarty dla autorów motywów budujących niestandardowe implementacje, jeśli mogą ulepszyć to, co zbudował zespół, ale woli, aby autorzy „omawiali swoje pomysły w repozytorium pakietów i przesyłali żądanie ściągnięcia, aby cała społeczność mogła skorzystać”.
Zaangażowanie autorów motywów to jeden z obszarów, w którym zespół miał problemy. Wkład w pakiety może przynieść korzyści całej społeczności. „Większość ludzi nawet o nich nie wie, ponieważ nie ma ich nigdzie na liście”, powiedział Stathopoulos. „Autorzy motywów obecnie muszą ich szukać, a aby ich szukać, ktoś musi im powiedzieć, że istnieją (co się nie dzieje).” Jednym z następnych kroków byłoby uzyskanie pakietów wymienionych w dokumentacji TRT.
Wspólna praca nad wspólnymi funkcjami motywów może stanowić pomost między autorami motywów a recenzentami, umożliwiając im wspólne rozwiązywanie problemów.
Uwaga: autor tego artykułu był zaangażowany w początkową propozycję pakietów tematycznych i dewelopera w jego początkowych wydaniach pakietów.
