Poszukiwanie scentralizowanego centrum powiadomień WordPress
Opublikowany: 2016-04-20Biorąc pod uwagę liczbę komentarzy, które otrzymaliśmy na temat nadużyć od administratora WordPressa, jasne jest, że wielu z was myśli tak samo jak ja. Dzięki zdrowej dyskusji, która miała miejsce, dowiedziałem się kilku nowych rzeczy na temat powiadomień administracyjnych, którymi chciałbym się z wami podzielić.
Motywy Zrób to też
Podczas gdy sedno artykułu skupia się na wtyczkach będących największym winowajcą, problem dotyczy również motywów hostowanych w katalogu motywów WordPressa i poza nim. W jednym z bardziej ekstremalnych przykładów, które odkryłem na początku tego roku, Redux Framework dodał powiadomienie administratora, które informowało użytkowników o nowym komercyjnym rozszerzeniu.
Gdy użytkownicy pytali, jak usunąć powiadomienia, programiści Redux Framework odpowiedzieli, tworząc komercyjne rozszerzenie.

Za 59 USD rocznie rozszerzenie usuwa powiadomienia administratora, reklamy z panelu opcji i widżet wiadomości na pulpicie nawigacyjnym. Mimo że powiadomienia i reklamy są wyświetlane tylko wtedy, gdy włączony jest tryb deweloperski frameworka, wydaje się to absurdalnym sposobem generowania przychodów.
Podczas wyszukiwania tego artykułu odkryłem, że Dovy Paukstys, współzałożyciel i główny programista Redux Framework, jest w trakcie usuwania reklam z obecnych i przyszłych powiadomień dla administratorów. Paukstys przekazał Karczmie następujące oświadczenie:
Jako inny programista widzę, jak frustrujące może być powiadomienie administratora, gdy jest używane jako reklama. Aby wesprzeć prośby społeczności, nie będziemy już używać powiadomień administratora do reklamowania funkcji premium. Będziemy używać powiadomień administracyjnych zgodnie z ich przeznaczeniem, aby informować i edukować naszych użytkowników.
Mamy nadzieję, że inne frameworki, wtyczki i produkty pójdą w ich ślady.
Centrum powiadomień WP
Zainspirowany naszym artykułem, WPBeginner sprawdza, czy WordPress potrzebuje centrum powiadomień. Jak się okazuje, w trakcie prac nad rozwiązaniem tego problemu jest kilka różnych wtyczek i projektów.
Wtyczka Centrum powiadomień WP, opracowana przez Barry'ego Kooij i Never5, dodaje centrum powiadomień do WordPressa. Ta wtyczka przenosi powiadomienia administratora do centralnej lokalizacji, uwalniając cenną nieruchomość ekranu.

Po aktywacji do paska administracyjnego dodawany jest obszar powiadomień. Informuje o liczbie dostępnych powiadomień i zapewnia szybki dostęp do przeglądania. Komunikaty są również oznaczone kolorami, aby łatwo odróżnić komunikaty o aktualizacji od komunikatów o błędach.
Linki w powiadomieniu prowadzą do odpowiedniej strony administratora, aby wyświetlić więcej szczegółów. Niestety, nie można odrzucać powiadomień z paska narzędzi administratora bez przechodzenia do zawartych w nich linków. Według Kooij odrzucanie zawiadomień jest trudnym problemem do naprawienia.
Powiadomienia administratora są dodawane w kodzie, więc nie mogę ich powstrzymać. Oznacza to, że musiałbym przechowywać odrzucone powiadomienia i sprawdzać wszystkie dodane powiadomienia przy każdym załadowaniu strony administratora, aby odfiltrować te, które zostały odrzucone.
Jest na odwrót od idealnej sytuacji, w której powiadomienie zostałoby dodane do bazy danych i mogę je po prostu usunąć, gdy zostanie odrzucone.
Jeśli chodzi o możliwość włączenia WP Notification Center do rdzenia, „Chciałbym napisać łatkę dla rdzenia, która ustawiłaby to we właściwy sposób” – powiedział Kooij. „To ostatecznie wiązałoby się z wycofaniem i zaprzestaniem wyświetlania powiadomień, które są dodawane w stary sposób”.
Jeśli jesteś zainteresowany rozwiązaniem tego problemu lub chciałbyś przyczynić się do innych aspektów projektu, możesz go znaleźć w serwisie GitHub, gdzie mile widziane są problemy i żądania ściągnięcia.
API powiadomień WordPress
Podczas czatu dla programistów WordPress Core w styczniu, John Blackbourn zaproponował API powiadomień, które zastąpi wp_mail() rozszerzalnym API. Programiści mogliby podłączyć interfejs API do wysyłania powiadomień za pośrednictwem webhooków, które umożliwiłyby powiadomienia ze Slacka i komunikatorów internetowych. Zostałby również dodany interfejs użytkownika, dzięki któremu użytkownicy i administratorzy mogliby wybrać, z których poszczególnych powiadomień i typów zrezygnować.

Interfejs API nie jest bezpośrednio związany z powiadomieniami administratora, ale możliwe, że w przyszłości mogą zostać połączone. Blackbourn planuje opublikować szczegółowy post na blogu, w którym szczegółowo przedstawi ten pomysł w ciągu najbliższego tygodnia lub dwóch.
Powiadomienia Jetpack
Jetpack obsługuje powiadomienia za pośrednictwem modułu, który dodaje ikonę do paska narzędzi. Powiadomienia obejmują polubienia, komentarze, obserwacje oraz możliwość moderowania i odpowiadania na komentarze.

Cały czas korzystam z tego obszaru powiadomień, aby moderować i odpowiadać na komentarze. Jest to wygodne i zwykle ładuje przedmioty szybko. Jednak nie jestem pewien, jak dobrze interfejs działałby, gdyby dodano powiadomienia administratora z motywów i wtyczek.
Subskrybenci mogą prawdopodobnie zobaczyć powiadomienia administratora
Jedną z najbardziej zaskakujących rzeczy, których się nauczyłem, jest to, że użytkownicy, którzy są subskrybentami, mogą prawdopodobnie zobaczyć powiadomienia administratora. Na pierwszy rzut oka nie ma to sensu, ponieważ subskrybenci nie mają możliwości działania na podstawie powiadomień. Przetestowałem tę teorię na stronie testowej WP Tavern, aktywując zarówno Yoast SEO, jak i wtyczkę All in One SEO.
To właśnie widzę, gdy jestem zalogowany jako administrator.

To jest ten sam pulpit nawigacyjny, gdy jesteś zalogowany jako subskrybent.

Jak widać, powiadomienia znikają po zalogowaniu się jako subskrybent. Chociaż początkowo myślałem, że jest to problem w rdzeniu, wydaje się, że jest to raczej problem programisty. JS Morisset, który skomentował oryginalny artykuł, ma możliwe wyjaśnienie:
Słowo „admin” (dla powiadomień) może być interpretowane na dwa sposoby — albo są to powiadomienia administratora / zaplecza, albo powiadomienia administratora.
Zawsze rozumiałem, że są to pierwsze (powiadomienia wyświetlane na zapleczu administratora) i mogą być widoczne dla wszystkich / wszystkich użytkowników zaplecza, więc używam „current_user_can()” we własnym kodzie, aby wyświetlać różne rodzaje wiadomości. Może jest to bardziej kwestia świadomości programistów niż podstawowy problem WP.
Chociaż nie przeanalizowałem kodu w testowanych wtyczkach, sprawdzenie możliwości current_user_can() wyjaśniłoby, dlaczego administratorzy widzą powiadomienia, a subskrybenci nie.
Co chciałbym zobaczyć w scentralizowanym centrum powiadomień WordPress
Powiadomienia administracyjne to świetny sposób dla programistów na informowanie użytkowników o ważnych informacjach. Ale biorąc pod uwagę wszystkie powiadomienia bombardujące administratorów witryn w dzisiejszych czasach, do zarządzania nimi wszystkimi potrzebny jest organizacyjny interfejs użytkownika. Rozważając rodzaje powiadomień, które można zezwalać i wyświetlać, centrum powiadomień w WordPressie może łatwo zamienić się w głęboką króliczą norę.
To, co chciałbym zobaczyć, to centrum powiadomień, które powiadamia mnie o aktualizacjach rdzenia, wtyczek i motywów, a także o wszelkich powiadomieniach generowanych przez te elementy. Chcę również, aby informował mnie o błędach na stronie. Powiadomienia te powinny znajdować się w łatwym w użyciu interfejsie, do którego można szybko uzyskać dostęp. Powiadomienia powinny być możliwe do odrzucenia lub mieć status, w którym można je oznaczyć jako przeczytane.
Jak widać powyżej, nad rozwiązaniem tego problemu pracuje mnóstwo osób i projektów. Jakie byłoby Twoje idealne centrum powiadomień WordPress?
