Seit 2004, als die Lichtwelt von WordPress 1.2 erblickt wurde, gehören Filter und Aktionen zu den Eckpfeilern bei der Entwicklung von Themes und Modulen.
Hooks (ein allgemeiner Begriff für diese beiden unterschiedlichen Gruppen von PHP-Funktionen) ermöglichen es Ihnen, die Funktionalität von WordPress zu ändern oder zu erweitern, ohne in die Kernel-Dateien eingreifen zu müssen. Im Folgenden zeigen wir, dass der Filter den Wert des Inhalts ändert und die Aktion gleichzeitig der aufgerufenen Funktion eine weitere hinzufügen kann. Dadurch verfügen wir über ein sehr leistungsstarkes Tool zum Erstellen eines einzigartigen Blogs oder einer einzigartigen Website und müssen uns gleichzeitig keine Sorgen über Probleme beim Aktualisieren auf die neueste Version von WP machen.
Der Filter startet WordPress, wenn Sie Text oder andere Arten von Inhalten ändern, bevor Sie sie der Datenbank hinzufügen oder an den Browser senden. Ihr Modul kann festlegen, dass eine oder mehrere PHP-Funktionen einen bestimmten Inhaltstyp zu einem bestimmten Zeitpunkt ändern.
Ein einfaches Beispiel, um zu verstehen, was den Hooks zugrunde liegt, ist die Demonstration einer bestehenden Funktion und ihrer Modifikationen.
function get_excerpt($text, $length = 150) { $excerpt = substr($text,$length); return $excerpt; }
Diese Funktion enthält zwei Parameter: einen String und die Länge, auf die wir ihn kürzen möchten. Möchten Sie im Beitrag 200 Zeichen anstelle der standardmäßigen 150 Zeichen? Kein Problem, wir ändern den Parameter bei der Verwendung der Funktion. Zunächst wenden wir einen Filter für die Funktion an, die die Länge des Berichts anpasst.
function get_excerpt($text, $length = 150) { $length = apply_filters('excerpt_length', $length); $excerpt = substr($text,$length); return $excerpt; }
Der Name dieses Filters ist excerpt_lenght und es ist noch keine Funktion damit verbunden, daher bleibt die Auflistung bei 150 Zeichen. Wir müssen dem System also mitteilen, dass wir den excerpt_length-Filter „einhängen“ und einen neuen Wert definieren möchten. Wir ändern dies mit folgendem Eintrag:
function get_excerpt($text, $length = 150) { $length = apply_filters('excerpt_length'); $excerpt = substr($text,$length); return $excerpt; } function modify_excerpt_length() { return 200; } add_filter('excerpt_length', 'modify_excerpt_length');
Fertig, die Regel für alle Anweisungen ist, dass sie 200 Zeichen enthalten. Ohne die ursprüngliche Funktion zu beeinträchtigen, haben wir die Länge der Beitragsliste durch Anwenden eines Filters angepasst, und die Änderung wird in jeder angezeigten Aussage widergespiegelt.
Die Aktion löst WordPress an bestimmten Stellen während der Befehlsausführung oder beim Eintreten eines bestimmten Ereignisses aus. Ihr Modul kann über eine Aktion festlegen, dass an diesen Stellen eine oder mehrere PHP-Funktionen ausgeführt werden.
Ein Beispiel für eine nützliche Aktion ist das Einfügen eines Links zu einem Seitensymbol in der Datei header.php in Ihrem aktiven Design. Die Funktion namens theme_favicon enthält HTML-Code mit der Adresse, an der die Datei favicon.ico gespeichert ist, und schreibt add_action (‚wp_head‘, ‚theme_favicon‘); Wir teilen dem System mit, dass wir unsere Funktion an die wp_head- Funktion anhängen möchten, indem wir den erwähnten Code zwischen den Tags einfügen< Kopf>< / haed> .
function theme_favicon() { ?> <link rel="shortcut icon" href="<?php bloginfo('stylesheet_directory') ?>/images/favicon.ico"/> <?php } add_action('wp_head', 'theme_favicon');
Die gute Nachricht ist, dass WordPress überall Funktionen verwendet und die Bearbeitungsmöglichkeiten im Wesentlichen grenzenlos sind, aber unerfahrene Entwickler könnten von der Zahl (derzeit über 1500) abgeschreckt werden. Es ist nicht einfach, sich in so vielen Funktionen zurechtzufinden, aber die offizielle WordPress-Dokumentation enthält gut ausgearbeitete Filter- und Aktionsberichte , und die Hook-Datenbank von Adam R. Brown ist ein guter Anfang, um Hooks zu studieren.
War dieser Artikel hilfreich für Sie? Unterstützen Sie mich bitte durch Teilen. 👍