Chcemy zaprojektować stronę widżetów w panelu administracyjnym nieco inaczej, głównie po to, aby pomóc administratorowi witryny zrozumieć, gdzie każdy widżet pojawi się w witrynie:
W tym celu musimy zmienić kod HTML renderowany przez widgets.php (sama zmiana css nie wystarczy). Jak moglibyśmy to zrobić bez dotykania rdzenia?
widgets
wp-admin
core-modifications
Lea Cohen
źródło
źródło
Odpowiedzi:
Jeśli uaktualnisz WordPress do 3.3.1, co absolutnie powinieneś, każdy obszar widżetu w adminie ma teraz identyfikator, którego możesz użyć do kierowania za pomocą CSS, co naprawdę powinno wystarczyć. Zobacz http://core.trac.wordpress.org/ticket/18334 dla przykładu.
źródło
Nie mogę wyrzucić tego pytania z głowy, ale nie mam czasu na pełne rozwiązanie. Zapiszę więc tutaj swój pomysł, a potem ustalę małą nagrodę.
Jest to działanie
'widgets_admin_page'
wwp-admin/widgets.php
ponad innych treści. Tutaj możesz umieścić okno podglądu.Przykładowy kod:
Spowoduje to wydrukowanie tablicy wszystkich zarejestrowanych pasków bocznych. Musisz przejść przez wszystkie paski boczne, aby znaleźć zarejestrowane widżety.
Aby podgląd był użyteczny, potrzebujesz dwóch plików: szablonu HTML i arkusza stylów.
Chciałbym użyć
add_theme_support()
.Przykładowy kod motywu
functions.php
:W
show_widget_preview()
kolejkujesz arkusz stylów i ładujesz szablon. Renderuj zarejestrowane paski boczne w predefiniowanych symbolach zastępczych wwidget-preview.php
.Zaktualizuj szablon dla AJAX po naciśnięciu przez użytkownika przycisku Zapisz w widżecie.
Wyzwania: Weź pod uwagę tryb dostępności, małe okna i konflikty CSS. Wyświetlaj przydatny komunikat, gdy nie zarejestrowano paska bocznego (opisy paska bocznego?). Co powinno się stać, gdy użytkownik spróbuje przeciągnąć widżet do pola podglądu? :)
źródło
krótka odpowiedź brzmi: nie możesz, nie dotykając rdzenia.
można jednak ustawić opis każdego obszaru widżetu (tekst pod tytułem obszaru widżetu) w funkcji register_sidebar.
źródło