Ich habe nach einer geeigneten Erklärung für den Unterschied zwischen add_filter()
und apply_filters()
hier gesucht , aber keine gefunden.
Kann mir jemand sagen, welche Informationen oder Logik vor der Verwendung add_filter
oder apply_filters
in einem Kontext zu berücksichtigen sind .
Das macht den Gebrauch eines Imperativs und nicht des anderen?
Ist es richtig, dass
add_filter
nur eine Funktion zur Warteschlange der Funktionen hinzugefügt wird, die darauf warten, für eine Variable ausgeführt zu werden, undapply_filters
die Funktionen in der angegebenen Reihenfolge ausgeführt werden?Ist es auch richtig, dass
apply_filters
beim Aufruf mit einem Argument (dem Namen der auszuführenden Funktion) diese Funktion vor allen anderen Funktionen (sofern vorhanden) in der Warteschlange ausgeführt wird?
quelle
Antworten:
Die meisten der folgenden Informationen sind im Codex enthalten :
apply_filters
Im Wesentlichen:
Sie verwenden filtern eine bestimmte - in Bezug auf den Wert selbst sowie gegebenenfalls vorgesehenen Variablen durch .
apply_filters
$value
$var_1
$var_n
add_filter
Im Wesentlichen:
Sie verwenden
add_filter
diese Option, um eine benutzerdefinierte Funktion mit der angegebenen Filteraktion ($tag
) zu verknüpfen , die Sie möglicherweise zuvor generiertapply_filters
haben (oder es handelte sich um eine integrierte Filteraktion oder stammt von einem Plugin / Ihrem Thema).Also, hier ist eine Fiktion Beispiel:
Wenn wir unsere Funktion jetzt einfach so aufrufen, wie sie ist, werden die Initialen von links nach rechts gedruckt, da wir dies als Standardverhalten definiert haben.
Beim zweiten Mal werden die Initialen in umgekehrter Reihenfolge abgerufen, da die Filterfunktion
__return_true
, die mit unserer Filteraktion verknüpft ist, immer zurückgegeben wirdTRUE
und die Initialen daher von rechts nach links ausgegeben werden.quelle