Ich bin im Begriff, mein erstes WordPress-Projekt zu starten, und ich habe die Aufgabe, angepassten Kerncode, der den Kern überschreibt, in separate Funktionen / Dateien zu verschieben (auf diese Weise ist die Wartung bei zukünftigen Upgrades einfacher.
Ich habe recherchiert und es sieht aus wie add_filter
und apply_filter
und do_action
und add_action
scheint der richtige Weg zu sein. Ich bin mir immer noch nicht sicher, wie sie funktionieren. Verwenden Sie diese Methoden, um Kernmethoden zu überschreiben? Ich bin verwirrt, weil ich add_filter
das Wort benutze, add
wenn ich das Gefühl habe, dass es eher im Sinne von replace
oder ist overwrite
(es sei denn, ich verstehe das falsch).
Ich habe gerade gelesen , die erste Antwort auf diese (die über die Tacos)
Der Autor hat also drei Schritte ausgeführt, um die Verwendung von add_filter zu beschreiben:
Schritt 1: Ein statischer Wert für die Variable $ taco
<?php $taco = 'chicken'; ?>
Schritt 2:
<?php
$taco = apply_filters( 'get_taco', 'chicken' );
?>
Schritt 3:
<?php
add_filter( 'get_taco', 'my_special_order' );
function my_special_order( $content ) {
return 'shredded beef';
}
?>
In dieser Situation wird also apply_filter
nur eine dynamische Methode im laufenden Betrieb erstellt und die chicken
Zeichenfolge zurückgegeben? Oder wird hier davon ausgegangen, dass es eine Kernmethode von WordPress gibt get_taco
und dass die Verwendung apply_filter
dazu beitragen würde, die ursprüngliche Funktionalität zu überschreiben?
Kannst du auch nur apply_filter
etwas, das du bearbeitet hast add_filter
? Mit anderen Worten, würde es apply_filter('get_taco');
nicht funktionieren, wenn ich add_filter('get_taco', 'my_special_order');
UND nicht zuerst definieren würde function my_special_order ($content) ...
?
Füge ich diese Filter in meine Datei functions.php ein? Es tut mir leid, dass ich Sie mit Fragen bombardiert habe. Ich komme von Ruby on Rails, daher bin ich in WordPress völlig ahnungslos.