Próbuję zrozumieć niektóre funkcje WordPressa, ale nie mogę zrozumieć, co właściwie robi apply_filters (...) .
Czy ktoś jest w stanie wyjaśnić to dla mnie kilkoma przykładami?
Próbuję zrozumieć niektóre funkcje WordPressa, ale nie mogę zrozumieć, co właściwie robi apply_filters (...) .
Czy ktoś jest w stanie wyjaśnić to dla mnie kilkoma przykładami?
apply_filters()
jest niewiarygodnie mylącą nazwą funkcji, ponieważ stosuje ona zarówno filtry, jak i akcje podłączone do funkcji docelowejOdpowiedzi:
apply_filters($tag, $value)
przekazuje argument „wartość” do każdej funkcji „przechwyconej” (używającadd_filter
) do określonego znacznika filtru. Każda funkcja wykonuje pewne przetwarzanie wartości i zwraca zmodyfikowaną wartość, która ma być przekazana do następnej funkcji w sekwencji.Na przykład, domyślnie (w WordPress 2.9)
the_content
filtr przekazuje wartość przez następującą sekwencję funkcji:źródło
apply_filters($value)
spóźniona odpowiedź
Krótkie wyjaśnienie
apply_filters()
współdziała zglobal $wp_filters
tablicą. Zasadniczo po prostu sprawdza tablicę, czy bieżący filtr (lub podpięcie) ma dołączoną akcję (/ funkcję zwrotną), a następnie wywołuje ją.Długie wyjaśnienie
Kiedy dołączasz wywołanie zwrotne / akcję do filtru lub podpięcia, po prostu dodajesz nazwę wywołania zwrotnego do globalnej tablicy filtrów. Kiedy wtedy w kodzie (np. Szablonie, pliku core lub pliku wtyczki) wywołanie
do_action()
lubapply_filters()
nastąpi, WordPress przeszuka tablicę i wywoła wywołanie zwrotne. Jedyną rzeczą bardziej wyjątkową w przypadku filtrów niż w przypadku haków jest to, że zwraca wartość (do dalszej obsługi) zamiast po prostu wywoływać funkcję zwrotną. Podsumowując: hooki mają wstawiać dane, a filtry modyfikować dane.źródło
Oto, co zbieram, biorąc pod uwagę najpopularniejszą odpowiedź i dodatkowe zasoby:
<p>
tagi, buźki zostaną przekształcone w ikony itp.źródło
W najbardziej podstawowym ujęciu, apply_filters służy do zainicjowania podpięcia filtra ... add_filter przypisuje nową funkcję do już utworzonych podpięć.
źródło