Diese Zeile verwendet zwei verschiedene Funktionen, für die zwei separate Erklärungen erforderlich sind.
__ ()
Dies ist eine Übersetzungsfunktion. Wenn die Einstellungen richtig vorgenommen werden, wird der erste Parameter aus einer Liste vorübersetzter Zeichenfolgen übersetzt. Wenn eine Installation eine Datei mit einer kompilierten Übersetzung für diese Funktion enthält, wird diese verwendet. Natürlich muss das Plugin seine eigene Übersetzung packen, daher der zweite Parameter. simplr-reg
teilt mit, __()
dass die Übersetzung des Strings 'Please fill out this form to sign up for this site'
in der dazugehörigen Übersetzungsdatei erfolgen soll 'simplr-reg'
(dies erfolgt im Plugin früher über die load_plugin_textdomain()
Funktion).
Die Funktion gibt dann die Übersetzung zurück. Wenn es keine Übersetzung gibt, die zurückgegeben werden kann (z. B. hat die aktuelle Sprache keine kompilierte Übersetzung, der String hat keine kompilierte Übersetzung für dieses Paket usw.), wird die ursprüngliche Eingabe zurückgegeben.
Also für eine WordPress-Site in Englisch, __( 'This', 'simplr-reg' )
ist funktional das gleiche wie 'This'
. Weitere Informationen zu l10n (Lokalisierung) finden Sie im Codex:
http://codex.wordpress.org/I18n_for_WordPress_Developers
apply_filters ()
Mit dieser Funktion können Sie die vom Plugin verwendeten Werte nach Bedarf filtern. Dies ist eines der Hauptkonzepte, die man als Plugin-Entwickler versteht. WordPress wird durch Hooks erweitert, die im Grunde genommen Zugangspunkte sind, mit denen Sie die Ausführung der Aktionen Ihres Plugins zeitlich festlegen und / oder Informationen / Daten bearbeiten können, die WordPress verwendet.
Um Daten wie den Code-Ausschnitt, nach dem Sie gefragt haben, zu manipulieren, würden Sie die Funktion verwenden add_filter()
. Hier ist ein einfaches Beispiel, wie das funktioniert:
add_filter( 'simplr-reg-instructions', 'wpse16573_my_filter' );
Sie werden dort wahrscheinlich das erste Argument erkennen. Es ist das gleiche wie add_filter
oben. Dies ist der Hook-Name. Das zweite Argument ist der Filter-Callback. Es muss sich um einen gültigen Rückruf für eine Funktion handeln ( weitere Informationen zu Rückrufen finden Sie hier ). In dieser Codezeile steht: "Wenn der 'simplr-reg-instructions'
Hook ausgeführt wird, führen Sie die Funktion mit dem von mir angegebenen Rückruf aus." apply_filters()
führt den im ersten Argument gefundenen Hook aus und bedeutet im Wesentlichen "alle für diesen Hook registrierten Funktionen ausführen". apply_filters
Übergibt dann alle anderen Argumente (in diesem Fall 'Please fill out this form to sign up for this site'
) an die Funktionen dieses Filters. Der oben verwendete Rückruf sollte also so aussehen:
function wpse16573_my_filter( $text ){
$text = "<strong>$text</strong>";
return $text;
}
Es gibt zwei Arten von Hooks in WordPress: Filter (die Art, die wir hier verwenden) und Aktionen. Der Hauptunterschied zwischen den beiden besteht darin, dass Filter erwarten, dass Sie etwas zurückgeben, und dass Aktionen dies nicht tun. Für diesen Filter fügt mein obiges Beispiel HTML hinzu 'Please fill out this form to sign up for this site'
und gibt es zurück.
Lesen Sie hier mehr über Aktionen und Hooks:
http://codex.wordpress.org/Plugin_API
Sie haben hier
apply_filters
und zwei verschiedene Funktionen__()
Mit der Funktion apply_filters können Sie in WordPress den Wert von Variablen mithilfe Ihrer eigenen Rückruffunktionen und der
add_filter
Funktion ändern / bearbeiten . Es akzeptiert viele Argumente, aber die wichtigsten sind die ersten beiden:$ tag ist der Name des Filter-Hooks, der
add_filter
zB verwendet wird in :$ value ist der tatsächliche Wert, den Sie ändern oder bearbeiten können.
$ var ist eine oder mehrere Variablen, die Ihre Rückruffunktion verwenden kann.
__()
Funktion wird für Übersetzungen verwendet:$ message ist die zu übersetzende Nachricht.
$ text_domain ist das Text-Domain-Tag, mit dem das Plugin oder die Theme-Übersetzung geladen wird
load_plugin_textdomain()
Was es macht?
Es durchsucht das Lokalisierungsmodul nach der Übersetzung von $ message und übergibt die Übersetzung an die PHP-return-Anweisung. Wenn für $ message keine Übersetzung gefunden wird, wird nur $ message zurückgegeben.
Damit die beiden Funktionen in Ihrem Fall auf die gleiche Weise funktionieren, senden die apply_filters allen Rückruffunktionen, die mit dem
simplr-reg-instructions
Filter-Hook verknüpft sind, den übersetzten Wert (falls vorhanden) von "Bitte füllen Sie dieses Formular aus, um sich für diese Site anzumelden". Domain vonsimplr-reg
quelle
apply_filters
ist ein Platzhalter, mit dem Sie Ihre eigenen Funktionenadd_filter
einbinden können. Es wird also kein add_filter erwartet, es sei denn, Sie fügen eigene hinzu