Pracuję nad wtyczką, a jej część wiąże się z ustawieniem wartości opcji, która ma zastosowanie do wszystkich witryn w sieci WordPress. Wiem o funkcjach add_site_option i get_site_option, które pozwalają zapisać wartość w tabeli wp_sitemeta, ale nie potrafię wymyślić, jak umieścić pola w odpowiednim miejscu w backendzie WordPressa i jak przechwycić zapisywanie całej strony wartości, aby wstawić wywołanie add_site_option, gdy tak się stanie.
W przypadku pierwszego problemu (dodanie pól) normalnie użyłbym interfejsu API ustawień, w szczególności register_setting i add_settings_field, aby dodać nową opcję do białej listy, a następnie wstawić jej pole na odpowiedniej stronie opcji. Ale nigdzie nie mogę znaleźć informacji o tym, czy można użyć pola add_settings_field, aby dodać pole do strony Ustawienia w nowej sekcji Administratora sieci backendu, jeśli istnieje alternatywna funkcja, która robi to, co robi dla stron Administratora sieci, lub jeśli wystarczy ręcznie wstrzyknąć HTML. (Możesz to zrobić ręcznie, pisząc funkcję, która wypowiada echo pola, a następnie łącząc tę funkcję z akcją „wpmu_options”, która uruchamia się na końcu strony Ustawienia w Administratorze sieci. Ale wtedy musisz również radzić sobie z nonces i wszystko inne ręcznie.)
Drugi problem prawdopodobnie dotyczy znalezienia działania, które uruchomi się, gdy użytkownik kliknie „Zapisz” na stronie Ustawienia administratora sieci, ale jeszcze go nie znalazłem. Wszelkie opinie byłyby bardzo mile widziane.
Więc - myśli? Czy istnieje elegancki sposób na zarządzanie opcjami ogólnodostępnymi wtyczki za pośrednictwem nowego obszaru Administratora sieci? Jeśli tak, jak to zrobić?
źródło
Zasadniczo, jeśli nie chcesz tworzyć własnej strony ustawień administratora sieci, musisz użyć obu haków wymienionych osobno w dwóch pozostałych odpowiedziach:
Bardzo jasne wyjaśnienie i przydatny przykładowy kod można znaleźć na stronie http://zao.is/2013/07/adding-settings-to-network-settings-for-wordpress-multisite/
źródło
Obawiam się, że jedyną znaną mi metodą jest wspomniana metoda ręcznego wstrzykiwania kodu HTML i samodzielnego radzenia sobie z aktualizacjami opcji. Akcją, której należy użyć do zapisania opcji, jest update_wpmu_options. W razie potrzeby mogę podać bardziej szczegółowy przykład, daj mi znać.
źródło