?? oder Null Coalesce Operator in PHP 7

Was mir ganz gut im neuen PHP7 gefällt ist der so genannte Null Coalesce Operator.

Wer vorher z.B. sowas wie das hier geschrieben hat:

$title = isset( $field['title'] ) ? $field['title'] : 'alternative';

kann jetzt sowas schreiben:

$title = $field['title'] ?? 'alternative';

Gut einsetzen lässt es sich das z.B. auch für Zählwerte bei Schleifen:

while( have_posts() ): the_post();
	$i = ( $i ?? 0 ) + 1;
endwhile;

Was macht letztgenannter Code? Wenn $i nicht vorhanden ist, wird 0 angenommen. Danach der Wert von $i. D.h. im ersten Durchlauf ist $i = 1, dann 2, dann 3 usw.

REST-API in WordPress deaktivieren

Geht ganz leicht. Und zwar durch das Einfügen folgender Zeile in ein Plugin und/oder etwa in die functions.php des (Child)-Themes:

add_filter( 'rest_enabled', '__return_false' );

E-Mails des lokalen Webservers (z.B. MAMP) Abfangen

Komisch aber war: E-Mails des lokalen Webservers werden manchmal richtig versandt, manchmal aber auch nicht. Warum und wieso war mir noch niemals richtig bewusst. Und ehrlich gesagt war ich auch jedes mal schlicht zu Faul nachzuschauen, warum das so ist. Was mich aber immer schon genervt hat ist die Tatsache, dass die E-Mails, die meine Testumgebung verlassen, nicht wirklich „abfangbar“ waren. Bis jetzt. Denn ich habe eine coole Lösung gefunden, sie irgendwo – zur Ansicht bereit – abzulegen. Weiterlesen

„Page“ in der URL von WordPress Seiten ersetzen

Manche Seiten von WordPress bekommen in der URL ein /page/ angehängt. In der Regel dann, wenn sich mehr Inhalt auf der Seite befindet als unter den Einstellungen eingestellt ist. Das ist zum Beispiel auf den Kategorie- oder Archivseiten der Fall. Achtung: dies Betrifft keine Seiten oder Artikel, die mit <!--nextpage--> umgebrochen wurden. Hier wird das /page/ erst gar nicht mehr angehängt.

Weiterlesen

WP-CLI auf Uberspace installieren

WP-CLI ist ein Kommandozeilen-Tool welches sich ganz leicht auch auf dem Uberspace installieren lässt. Hier steht, wie man es – in weniger als 5 Minuten – installiert und nutzen kann. Weiterlesen

Anderssprachige WordPress Plugins übersetzen und die Übersetzungsdateien auch bei Plugin-Update behalten

Bei der näheren Untersuchung der Sprachfunktionen von WordPress bin ich auf eine interessante Funktion gestoßen, die eigentlich so naheliegend war, mir aber nie aufgefallen ist. In diesem Beitrag steht, wie man Sprachdateien von eigens übersetzten Themes oder Plugins auch über ein Plugin- oder Theme-Update hinaus behalten kann. Weiterlesen

WordPress Plugin Header übersetzen

Unter Internationalisierung versteht man das Vorhaben, ein Plugin so vorzubereiten, dass es ohne größeren Aufwand in jede beliebige Sprache übersetzt werden kann. Als Standard definiert WordPress en_US. Das bedeutet: Alle Plugins sollten „in englisch“ programmiert und erst später in andere Sprachen übersetzt werden.
Schön ist, dass WordPress bereits viele Übersetzungsfunktionen mit an Board hat. Es ist also nicht sonderlich schwer, ein Plugin zu internationalisieren.
Als Programmierer müssen Sie lediglich einige Funktionen kennen, die Sie dann während der Programmierung sofort mit umsetzen können. Im Grunde gibt es zwei Möglichkeiten, eine Sprachdatei zu laden. Aber nur eine erlaubt auch die Übersetzung der Texte im Plugin-Header. Weiterlesen

Aktuellen Seitentitel im Administrationsbereich von WordPress auslesen

Programmierer wollen immer so wenig Schreibarbeit wie möglich. Deshalb benutzen sie Funktionen, die bereits definiert wurden. Das Problem ist allerdings, dass man diese Funktionen oft nicht kennt. Die Dokumentation von PHP ist schier endlos und dadurch unübersichtlich. Oft hilft nur googeln. Bei WordPress ist es da nicht anders. Heute stellte ich mir die Frage, ob  sich der Seitentitel einer Admin-Page, der z.B. via add_submenu_page() definiert wurde, einfach auslesen lässt. Hier steht, wie’s geht.

Weiterlesen

PHP Version in OS X auf MAMP umleiten

Wer PHP auch über die Konsole nutzt (z.B. phpDoc) der muss mit der mitgelieferten PHP-Version vorlieb nehmen, die OS X ausliefert. Bei mir ist das Beispielsweise die Version 5.4.24. Wer eine neuere Version will muss sie (meist umständlich) installieren (obwohl: es geht auch mit einer PHP-Ein-Zeilen-Installation). Wer allerdings MAMP als Entwicklungsumgebung nutzt, der kann den php-Befehl in der Konsole auch auf die MAMP-PHP-Version umleiten. Wie das geht, steht hier.

Weiterlesen