Chcę wiedzieć, czy jest to dobra praktyka zgodnie z motywem WordPress lub opracowaniem wtyczki.
add_action('init','all_my_hooks');
function all_my_hooks(){
// some initialization stuff here and then
add_action('admin_init',-----);
add_action('admin_menu',----);
// more like so
}
dzięki
hooks
customization
init
admin-init
atinder
źródło
źródło
wp_loaded
i informacje o MS.Nie widzę wielkich korzyści z tej praktyki z następujących powodów:
Twoje funkcje oddzwaniania nie są wywoływane podczas rejestracji
Funkcje
add_action
iadd_filter
tylko dodają wpis do zmiennej globalnej,$wp_filter
która przechowuje wszystkie filtry i akcje. Zobacz źródło . Nie wywołuje twojej funkcji. Twój kod będzie działać tylko wtedy, gdydo_action
iapply_filters
nazywane są (z odpowiednią nazwą haka), co zdarza się bardzo późno w miejscu, gdzie te haki powinny być.Można powiedzieć, że spowoduje to zwiększenie globalnej zmiennej
$wp_filter
=> więcej wymaganej pamięci. Ale myślę, że utworzenie nowej funkcji ma ten sam problem.Kod organizacyjny
Umieszczenie wszystkiego w jednej funkcji zmusza do zapamiętania wszystkich haków w każdym pliku w kompozycji / wtyczce. Nie zrobiłbyś czegoś takiego:
header.php
: dodawanie haków i funkcji zwrotnych dla zdarzeń w nagłówku (np. menu, rejestracja skryptu)content.php
: dodaj zaczepy i funkcje zwrotne do filtrowania zawartościadmin-menu.php
: dodaj zaczepy i funkcje zwrotne, aby dodać menu administratora(załóż, że te pliki są umieszczone w twoim motywie / wtyczce)
Zamiast tego musisz:
header.php
,content.php
,admin-menu.php
=> To sprawi, że będziesz ciężko wiedzieć, co się stanie, gdy spojrzysz na zawartość
header.php
pliku. Musisz szukać, aby dowiedzieć się, kiedy te wywołania zwrotne są uruchamiane.I pomyśl o sytuacji, gdy masz wiele klas w swoim motywie / wtyczce. Czy umieścisz wszystkie haki wszystkich klas w jednym miejscu? Czy może każda klasa ma funkcję otoki, która przechowuje wszystkie haki? To jest zbyteczne!
Powyżej tego powodu myślę, że to osobisty styl :). Widzę niektóre frameworki, takie jak Hybrid, robi to, co powiedziałeś. Czasami trudno mi kopać w tych ramach!
źródło