Kategorie: WordPress-Snippets

Gutenberg: Core-Block mit Element umschließen

Gestern stand ich vor dem Problem, dass der Tabellen-Block in Gutenberg im Frontend nicht von einem div umschlossen wird, sondern direkt als table ausgegeben wird. An sich natürlich super, dass da kein überflüssiges Markup rauskommt – für meine Lösung, um die Tabelle responsive zu bekommen, brauche ich aber ein Wrapper-Element. Hier zeige ich, wie sich Core-Blöcke mit einem Element umschließen lassen. Gutenberg: Core-Block mit Element umschließen weiterlesen

Unterschiedliche Farbpaletten mit Gutenberg erstellen

Seit Freitag arbeite ich an meinem ersten Gutenberg-Projekt und hatte gleich das erste langwierige Problem. In dem Projekt gibt es eine Farbpalette für Textfarben und eine für mögliche Hintergrundfarben. In Gutenberg ist standardmäßig nur eine Farbpalette vorgesehen, die sich zwar problemlos anpassen lässt, aber für das Projekt sollen bei dem Farbwähler für die Textfarbe halt nicht dieselben wie bei der Hintergrundfarbe angezeigt werden. Hier zeige ich, wie sich das umsetzen lässt. Unterschiedliche Farbpaletten mit Gutenberg erstellen weiterlesen

Hintergrundprozesse in WordPress erstellen

Wenn ein PHP-Skript ausgeführt wird, dann lädt die Seite normalerweise so lange, bis die Aufgabe ausgeführt ist (oder es einen Fehler gibt). In vielen Fällen ist das auch kein Problem, da das Skript nicht lange läuft. Wenn das Skript aber sehr viele Aufgaben ausführen muss und damit eventuell mehrere Minuten oder sogar Stunden beschäftigt ist, wäre es praktisch sowas im Hintergrund ablaufen zu lassen. Hier zeige ich, wie das mit einer Bibliothek für WordPress umgesetzt werden kann. Hintergrundprozesse in WordPress erstellen weiterlesen

Offizielle PHP-Library für WooCommerce-REST-API mit Basic-Auth verwenden

Wenn eine WordPress-Installation via .htaccess Basic-Auth geschützt ist, funktionieren die WooCommerce-REST-API-Anfragen mit der offiziellen PHP-Bibliothek nicht ohne weiteres. Ich habe das GitHub-Issue nicht mehr gefunden, in dem darauf verwiesen wurde, dass mit CURL die Anmeldedaten angegeben werden können, aber darüber bin ich letztlich auf eine Frage und die Antworten bei Stack Overflow gestoßen, die mir geholfen haben:

$ch = curl_init();
curl_setopt( $ch, CURLOPT_USERPWD, 'user:password' );

Diese beiden Zeilen habe ich an den Anfang meines Skripts geschrieben und user sowie password gegen die entsprechenden Werte ausgetauscht. Damit konnten jetzt auch Anfragen an die geschützte Installation gestellt werden.

Parallele Anfragen an die WooCommerce-REST-API mit der PHP-Requests-Bibliothek

In zwei kürzlich geschriebenen Artikeln bin ich bereits auf die REST-API von WooCommerce eingegangen, sowie auf einen PHP-Bibliothek von Automattic, die die Nutzung der API mit PHP vereinfacht. Hier stelle ich einen Weg vor, wie mehrere Anfragen gleichzeitig an den Shop gemacht werden können. Parallele Anfragen an die WooCommerce-REST-API mit der PHP-Requests-Bibliothek weiterlesen

Theme-Editor-Styles für Gutenberg erstellen

Mit WordPress 5 wird ein neuer Editor mit Codename »Gutenberg« kommen, der komplett anders ist als der aktuelle TinyMCE. Das bedeutet nicht nur eine Umstellung für die User, sondern auch für Theme-Developer, die die Styles im Editor so anpassen möchten, dass der Inhalt möglichst aussieht wie im Frontend. Hier zeige ich wie das für den neuen Editor funktioniert. Theme-Editor-Styles für Gutenberg erstellen weiterlesen

Titel einer Customize-Section verändern

Beim Erstellen einer Customize-Section wird ein Titel vergeben. In einigen Fällen kann es sein, dass dieser Titel während einer Customize-Session dynamisch verändert werden soll, um beispielsweise den veränderten Wert eines Formularfeldes wiederzugeben, wie unten im GIF zu sehen ist.

Ein GIF, das die Detailansicht einer Section zeigt. Beim Verändern eines Select-Feldes wird der Section-Titel ebenfalls aktualisiert.

Ich habe keine Möglichkeit gefunden den Titel über die Customize-JS-API zu verändern, also blieb nur der Weg über die direkte Manipulation des DOM. Titel einer Customize-Section verändern weiterlesen