@Arlen: Jak zauważa Keith S. Lista haków Adama Browna jest zasobem defacto haków dla WordPress. Nie jest to jednak idealne:
Nie pokazuje haczyków w kolejności, w której są wywoływane,
Nie podaje nazwy pliku ani numeru wiersza, w którym został wywołany,
Nie zapewnia liczby przekazanych argumentów,
To nie jest pełna lista, ponieważ niektóre haki można wywoływać dynamicznie,
I nie pokazuje haków z wtyczek.
Tak więc chociaż lista Adama jest świetnym źródłem informacji, szczególnie dla zrozumienia, kiedy haczyki były historycznie dodawane, nie jest to tak przydatne, jakbyś był w stanie instrumentować haczyki na dowolnej stronie w swojej witrynie.
Przez jakiś czas bawiłem się tym pomysłem, więc twoje pytanie skłoniło mnie do napisania wtyczki o nazwie „ Haki na instrumenty dla WordPressa ”. Pełne źródło możesz znaleźć pod zrzutem ekranu i możesz go również pobrać z Gist tutaj .
Oto zrzut ekranu tego, jak wygląda instrumentacja:
Instrumentacja jest uruchamiana przy użyciu parametru adresu URL instrument=hooks, tj .:
Chciałbym ... to jedna z tych rzeczy, których możesz użyć tylko raz lub dwa razy, ale kiedy z niej korzystasz, dziękujesz gwiazdom za to :)
Keith S.,
1
Mike, to bardzo fajnie! Ale co byś polecił, aby właściwie zrozumieć, co robi każdy filtr / akcja? czy istnieje plik, w którym wymienione są wszystkie z nich wraz z ich „aktywnością”? Dzięki!
Amit,
1
@Amit - Tak, to trudne pytanie. :) Dzięki, że pytasz. Niestety nie widzę żadnego sposobu na zautomatyzowanie tego, co zrobiłem w przypadku powyższych haczyków, więc nie mam dla ciebie idealnej odpowiedzi. Idealnie dla każdego haka ktoś napisałby świetny post na blogu (lub zadałby tutaj pytanie, które uzyskało świetną odpowiedź), a następnie „Google it” będzie Twoją odpowiedzią. W tej chwili używam debugowania IDE (PhpStorm + XDEBUG, 49 USD do września 2010 r.) I ustawiam punkty przerwania i po prostu śledzę wykonywany kod. Może być jednak lepszy sposób, a jeśli ktoś pomyślał o tym, daj nam znać!
MikeSchinkel,
Wow, to najlepsza odpowiedź, jaką kiedykolwiek widziałem. W każdym razie tutaj.
Arlen Beiler,
2
@ Mike: Szybkie pytanie, dlaczego przechowujesz to w bazie danych zamiast w pamięci lub tymczasowym strumieniu?
Kodeks ma Action Action i Filter Reference . Adam Brown utworzył bazę danych hooków, która zawiera wszystkie hooki w kodzie źródłowym, i dodaje dokumentację ze stron wiki, informacje o wersji i linki do kodu źródłowego. Możesz to poprawić, pisząc dokumentację w Kodeksie.
Oczywiście niektóre haki są dynamiczne, w zależności od innych danych. Weź wp_transition_post_statusfunkcję:
Baza danych Adama Browna to nie tylko połączenie tych 2 stron, ma na liście każdą akcję i filtr w WordPress. A może nie to miałeś na myśli.
Arlen Beiler,
@Arlen: Tak, przepisałem to, aby było bardziej jasne.
Jan Fabry,
1
Chociaż prymitywny, może ten kod wtyczki może pomóc? Jeśli chcesz spojrzeć na filtry, zmień „add działań” za pomocą „add_filter”. Załaduj wtyczkę, a następnie odśwież stronę główną witryny. Po załadowaniu dezaktywacja jest poważnym problemem, więc po prostu zmień nazwę pliku wtyczki w folderze wtyczek i odśwież stronę ponownie - automatycznie się dezaktywuje. Użyłem tej sztuczki wiele razy, aby rozwiązać problemy lub znaleźć miejsce, w którym mogę coś wstawić.
To może nie być ładne, ale w rzeczywistości może być najszybszym i najłatwiejszym sposobem (często używam „debugowania printf”, aby naprawić małe rzeczy w małych projektach wiersza poleceń Notepad + zamiast używać całego IDE).
Synetech
0
Używam tego, aby znaleźć kolejność haków. Aby uzyskać filterssprawiedliwą zmianę add_actionna add_filter.
function echo_all_hooks(){
$not_arr = array('gettext','sanitize_key','gettext_with_context','attribute_escape');if(!in_array(current_filter(),$not_arr)) echo current_filter()."<br/>";}
add_action('all','echo_all_hooks');
Ponieważ @kaiser sugeruje, aby nie publikować tylko linków, poprawiam to. ale nie jest możliwe użycie całego kodu tutaj, dlatego używam tutaj kilku obrazków, aby wyjaśnić, w jaki sposób ma pełną listę haków WordPress z opisem każdego z nich. znajdziesz go tutaj dla haków , klas , funkcji , wtyczek ,
Odpowiedzi:
@Arlen: Jak zauważa Keith S. Lista haków Adama Browna jest zasobem defacto haków dla WordPress. Nie jest to jednak idealne:
Tak więc chociaż lista Adama jest świetnym źródłem informacji, szczególnie dla zrozumienia, kiedy haczyki były historycznie dodawane, nie jest to tak przydatne, jakbyś był w stanie instrumentować haczyki na dowolnej stronie w swojej witrynie.
Przez jakiś czas bawiłem się tym pomysłem, więc twoje pytanie skłoniło mnie do napisania wtyczki o nazwie „ Haki na instrumenty dla WordPressa ”. Pełne źródło możesz znaleźć pod zrzutem ekranu i możesz go również pobrać z Gist tutaj .
Oto zrzut ekranu tego, jak wygląda instrumentacja:
Instrumentacja jest uruchamiana przy użyciu parametru adresu URL
instrument=hooks
, tj .:I zgodnie z obietnicą, oto źródło (lub pobierz tutaj .):
źródło
Wtyczka Debug Bar Action Hooks
źródło
Kodeks ma Action Action i Filter Reference . Adam Brown utworzył bazę danych hooków, która zawiera wszystkie hooki w kodzie źródłowym, i dodaje dokumentację ze stron wiki, informacje o wersji i linki do kodu źródłowego. Możesz to poprawić, pisząc dokumentację w Kodeksie.
Oczywiście niektóre haki są dynamiczne, w zależności od innych danych. Weź
wp_transition_post_status
funkcję:Jeśli zarejestrujesz niestandardowy typ posta
event
i niestandardowy status postacancelled
, będziesz miećcancelled_event
hak akcji.źródło
Chociaż prymitywny, może ten kod wtyczki może pomóc? Jeśli chcesz spojrzeć na filtry, zmień „add działań” za pomocą „add_filter”. Załaduj wtyczkę, a następnie odśwież stronę główną witryny. Po załadowaniu dezaktywacja jest poważnym problemem, więc po prostu zmień nazwę pliku wtyczki w folderze wtyczek i odśwież stronę ponownie - automatycznie się dezaktywuje. Użyłem tej sztuczki wiele razy, aby rozwiązać problemy lub znaleźć miejsce, w którym mogę coś wstawić.
źródło
Używam tego, aby znaleźć kolejność haków. Aby uzyskać
filters
sprawiedliwą zmianęadd_action
naadd_filter
.źródło
Ponieważ @kaiser sugeruje, aby nie publikować tylko linków, poprawiam to. ale nie jest możliwe użycie całego kodu tutaj, dlatego używam tutaj kilku obrazków, aby wyjaśnić, w jaki sposób ma pełną listę haków WordPress z opisem każdego z nich. znajdziesz go tutaj dla haków , klas , funkcji , wtyczek ,
opisać każdego
źródło
Możesz po prostu użyć wtyczki monitora zapytań: https://wordpress.org/plugins/query-monitor/
źródło