WordPress: Hook Infos auslesen


Bei der Entwicklung eigener Themen oder Plugins mit WordPress ist es nützlich zu wissen, welche Callback-Funktionen an welchen Hooks hinzugefügt wurden. Viel wichtiger ist aber deren Priorität und der Typ, Action oder Filter. Denn mit add_action() und add_filter() sind sie als solche noch gar nicht endgültig definiert wie man weiter untern sehen wird. Diese Funktionen sind sogar vertauschbar, ohne einen Fehler zu generieren. So kann schnell eine Verwirrung entstehen, wenn der Programmierer die falsche Funktion benutzt. Man würde zum Beispiel anhand des Aufrufs einen Filter erwarten, der keiner ist.

In WordPress 4.7.0 wurde für die Verwaltung der Action- und Filter-Callbacks die neue WP_Hook-Klasse eingeführt. Die globale Variable $wp_filter ist seit dem ein eindimensionaler Array der WP_Hook-Klassenobjekte. Sowohl die Action- als auch Filter-Callbacks werden in diesen Objekten gespeichert. Vor der WordPress Version 4.7.0 war $wp_filter ein mehrdimensionaler Array der die Performance ziemlich belastet hat.

Was aber wenn man herausfinden möchte ob ein Hook-Callback ein Filter oder eine Aktion ist? Oder mit welcher Priorität sie ausgeführt werden? Aktionen werden beim Hinzufügen genauso behandelt wie die Filter. Man könnte einen Filter mit add_action() hinzufügen wie auch umgekehrt eine Aktion mit add_filter() und es würde keine Rolle spielen. Sie landen alle gleicherweise in dem $wp_filter-Array. Ohne Rücksicht auf den Typ. Die add_action()-Funktion ist nur ein Alias für add_filter().

WordPress: Bildbeschriftung formatieren und ausrichten


Klick LOGO image

 

Bilder lassen sich im WordPress leicht über den integrierten, visuellen Editor einfügen, positionieren und beschriften. Man kann die Beschriftung auch mit den HTML-Formatierungstags kursiv, fett oder kleiner darstellen lassen. Wie sieht es aber aus, wenn man die Farbe, Position, Größe usw. ändern möchte? Oder einen Hyperlink der Beschriftung und nicht dem Bild hinzufügen? Da muss man schon kreativ und „handgreiflich“ werden. Ob manuell oder mit einem selbstgeschriebenen Plugin, es ist einfacher als gedacht. Man muss nur den WordPress genauer unter die Lupe nehmen. Wie erstellt der Editor die Bilder samt Beschriftung und Formatierung in dem HTML-Code? Warum kann man nur die Position des ganzen Blockes ändern, nicht aber die der Beschriftung? Wie kann man auf die Elemente und deren Attribute zugreifen? Wie erstellt man eine eigene, formatierbare Beschriftung?

WordPress Syntaxhighlighter – Code-Zeile verrutscht


Manche Internet Browser wie Mozilla Firefox zeigen den im WordPress mit Syntaxhighlighter eingefügten Code verrutscht nach unten im Bezug zu der Zeilennummer an. Der Grund ist die falsche Formatierung der Tabelle in der der Code angezeigt wird. Die erste Spalte dieser unsichtbaren Tabelle ist die Quellcodezeilennummer, die zweite der Quellcode. In diesem Fall muss ein zusätzlicher Eintrag in die shCore.css Datei gemacht werden. In dem WordPress-Installationsordner /www/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles die Datei shCore.css öffnen und Folgendes mit vertical-align: middle ergänzen:


.syntaxhighlighter table td.code {
width: 100% !important;
vertical-align: middle !important;
}

Danach sollte der Code zentriert zu der Zeilennummer angezeigt werden.





BackWPup FEHLER: FTP-Verzeichnis „www“ kann nicht erstellt werden!


Nach der BackWPup-Aktualisierung auf Version 3.3.6 in Verbindung mit WordPress 4.7.2 kann das Plugin kein Backup mehr erstellen und bricht mit der Fehlermeldung: „FTP-Verzeichnis „www“ kann nicht erstellt werden!“ ab. Der Grund ist das bei der Aktualisierung gelöschte FTP-Server-Passwort in den Backup-Aufträgen. Somit kann sich das BackWPup-Plugin auf dem FTP-Server nicht mehr authentifiziert einloggen.

Lösung:

  1. In WordPress-Admin einloggen.
  2. Navigieren zu: BackWPup –> Aufträge –> Bearbeiten –> Ziel: FTP
  3. Das Passwort neu eingeben und Änderungen speichern.
  4. Zurück zu: BackWPup –> Aufträge und Auftrag „Jetzt starten“.

Die Punkte 1 bis 4 für alle erstellten Aufträge wiederholen.