Ein verständlicher Ausflug zu den Hooks in Genesis mit Beispielen, wie Footer oder Metatexte spielend leicht durch Filter geändert werden können.
Das Video zum Beitrag, falls Du lieber schaust als liest:
Hooks in Genesis
Hooks kannst Du Dir vorstellen wie Haken, an denen Du beliebige Inhalte platzieren kannst. Die größte Herausforderung wird erst einmal sein, diese Hooks zu finden. Statt Dich nun damit zu langweilen, dass Du in das Verzeichnis genesis/lib/structure wechselst, um dort verfügbare Hooks zu finden, empfehle ich Dir ein Plugin, das Dir die wichtigsten Hooks in Deinem Theme einblendet.
Das Plugin Genesis Visual Hook Guide
Installier das Plugin und aktiviere es. Anschliessend findest Du im Forntend Deiner Seite, im Admin-Menü, das Menü des Plugins.
Wählst Du in diesem Menü ‘Filter Hooks’ aus, werden Dir die wichtigsten Filter Deines Themes angezeigt.
Filter in Genesis
Filter stellt Dir Dein Theme zur Verfügung, um Inhalte zu überschreiben. Sie dienen als Ersetzung. Zu finden, ob ein Filter für die von Dir zu überschreibende Stelle existiert, war bisher die Herausforderung. Allerdings auch keine wirklich große Herausforderung, denn im Verzeichnis von Genesis konnte man alle Filter finden. Das zuvor vorgestellte Plugin macht es Dir noch leichter, indem Du Dir die wichtigsten Filter anzeigen lassen kannst. Ich schreibe, die wichtigsten Filter, weil es weitaus mehr Filter gibt, als das Plugin Dir zeigt.
Filter anwenden
Wie Filter angewendet werden, zeige ich Dir hier exemplarisch an zwei einfachen Beispielen. Der Änderung des Footers Deines Themes und der Änderung des Suchfeldtextes.
Den Footer in Genesis mit Filter ändern
Du hast das Plugin “Genesis Visual Hook Guide” installiert und aktiviert? Dann wechsel zum Frontend Deiner Seite und Wähle im Menü “Filter Hooks” aus. Anschliessend scrollst Du zum Footer Deiner Seite.
Dort wo sonst der Footer-Text steht, steht jetzt der Hook: “genesis_footer_creds_text”.
Kaum zu glauben, aber Du bist bereits fast fertig. Denn Filter machen Dir die Arbeit wirklich leicht. Kopier Dir den Filter und öffne die Datei functions.php Deines aktivierten Themes. Das kannst Du über Das Menü: Design/functions.php in Deinem WordPress-Backend.
Allerdings würde ich Dir nicht empfehlen, die Datei an dieser Stelle zu ändern. Denn sollte sich ein Fehler in Deinen Code einschleichen, wirst Du keinen Zugriff mehr auf Dein Administrationsinterface haben. Besser ist es, wenn Du die Datei in Deinem Dateisystem änderst. Falls Du jetzt überfordert bist, dann sieh Dir das Video an, oder schreib mir mit der Bitte um Hilfe.
In die functions.php schreibst Du folgenden Aufruf.
add_filter('genesis_footer_creds_text', function(){return 'Das ist mein neuer Footer';});
Nachdem Du diesen Aufruf gespreichert hast, wechselst Du zum Frontend Deiner Seite und wählst im Menü des Plugins “Genesis Visual Hook Guide” “Clear” aus. Nun scroll zu Deinem Footer. Wenn Du alles richtig übernommen hast, steht jetzt dort “Das ist mein neuer Footer”.
Unser Aufruf überschreibt einfach die Variable, die den Text für unseren Footer enthält. Bei einem komplexen Footer setzen wir die Funktion selbstverständlich nicht in den Aufruf ein. Wir würden es dann folgend umsetzen:
function thx_footer_txt(){
return = 'Copyright 2008 - ' . date('Y') . ' <span style="color:red" class="dashicons dashicons-heart"></span><a href="https://thx.cool">THX cool</a>';
}
add_filter('genesis_footer_creds_text', 'thx_footer_txt');
Add_filter übergibt an den Hook ‘genesis_footer_creds_text’ das Resultat unserer Funktion ‘thx_footer_txt’. Die Funktion ‘thx_footer_txt’ Gibt einfach 2008 – aktuelles Datum, ein Dashicon und einen verlinkten Copyrightholder aus. Falls Dir Dashicons nichts sagen und Du Dich dafür interessierst, empfehle ich Dir den Artikel: Dashicons im WordPress Frontend aktivieren.
Du siehst, wie einfach es ist, mit Filtern zu arbeiten. Allerdings schreibe ich Dir gleich, dass Du Sprachvariablen einsetzen musst, wenn Du Deine Seite mehrsprachig gestalten willst. Ist das der Fall empfehle ich Dir Artikel auf dieser Seite, die sich mit dieser Thematik auseinandersetzen.
Den Text im Suchfeld ändern
Grundsätzlich lässt sich der Text des Suchfeldes in der Language Datei ändern. Bei einigen Genesis Themes wird der Wert jedoch nicht übernommen, weil falsch implementiert. In so einem Fall kannst Du den Text sehr einfach überschreiben.
Dafür gehst Du im Frontend Deines Themes wieder auf “Filter Hooks”. Im Suchfeld müsste jetzt der Hook: “genesis_search_text” erscheinen.
Der Rest ist jetzt wieder denkbar einfach. Wir kopieren den Hook “genesis_search_text” und gehen zur Datei functions.php unseres Themes. Dort fürgen wir folgenden Aufruf ein:
add_filter('genesis_search_text', function(){return 'Suchen...';});
Anschliessend speichern und im Frontend im Menü des Plugins “clear” auswählen. Jetzt sollte in Deinem Suchfeld “Suchen…” erscheinen.
Einfacher kann eine Ersetzung kaum gehen.
Zusammenfassung
Hooks sind Stellen in Deiner Seite oder dem Code, an denen Du Veränderungen vornehmen kannst. In Genesis findest Du sie im Ordner Genesis. Die meisten liegen unter: genesis/lib/structure.
Mit dem Plugin “Genesis Visual Hook Guide” kannst Du Dir die Hooks für Filter und Actions anzeigen lassen.
Filter bieten Dir in Genesis die Möglichkeit, Variablen einfach zu überschreiben. Diese Variablen enthalten beispielsweise Textabschnitte. Ein Filter rufst Du in der Form:
add_filter('Hook', 'Funktion');
auf. Beispiel Suchfeldtext überschreiben:
add_filter('genesis_search_text', function(){return 'Suchen...';});
Schreibe einen Kommentar