WordPress Dashicons im Frontend nutzen

Seit WordPress 3.8 gibt es schönen Admin-Icons die als SVG (bzw. WebFont) daherkommen und dafür uneingeschränkt auch für Retina-Displays zum Einsatz kommen. Man kann diese Icons aber auch im Frontend seines Themes nutzen. Wie das geht, steht hier. Weiterlesen

PHPStorm mit MAMP (oder XAMP) verbinden

Inzwischen nutze zwar Local by Flywheel (ehemals Pressmatics) aber MAMP (oder XAMP) ist ja nach wie vor etwas, was bei vielen Entwicklern im Umlauf ist. MAMP lässt sich ganz gut mit PHPStorm verbinden. Aber warum eigentlich, wenn PHPStorm alle Funktionen mitbringt, die nötig sind, um einen lokalen Webserver zu betreiben? Cool ist natürlich auch, dass PHP seit 5.4.0 jetzt auch einen internen Webserver bereitstellt. Das kann man quasi für sich nutzen ohne das MAMP separat laufen muss. Trotzdem lassen sich die diversen PHP-Versionen von MAMP nutzen. Weiterlesen

EMail Benachrichtigung bei neuem Post nur an den Admin verschicken

Diskussions-Einstellungen in WordPress
Diskussions-Einstellungen in WordPress

WordPress hat intern eine Funktion, die es erlaubt, eine E-Mail Benachrichtigung bei einem neuen Post zu verschicken. Die Einstellung dazu findet man im Dashboard unter “Einstellungen” > “Diskussion” und dort unter “Mir eine E-Mail senden, wenn …”.

Aktiviert man diese Einstellung, wird (Achtung) immer der Autor des jeweiligen Beitrags benachrichtigt. Wenn man das umgehen will, lässt sich das nur über ein klein wenig Code ändern. Weiterlesen

register_shutdown_function bei Einsatz von PHP/WP-CLI über die Konsole

Die WP-CLI macht es relativ einfach, bestimmte Aufgaben direkt über die Linux-Konsole zu starten. Das hat mehrere Vorteile. Unter anderem diese, die ich selbst sehr schätze:

  • Aufgaben sind unter Umständen schneller erledigt. Das Einloggen und rumspielen im Backend entfällt.
  • PHP max_execution_time steht automatisch auf 0 und die Scripte können länger laufen als gewöhnlich.
  • Der Weg zu PHP über einen Webserver entfällt.

Weiterlesen

Print-CSS in Firefox emulieren

Ich benutze ja seit jeher Firefox in der DeveloperEdition zum Entwickeln meiner Produkte und Websites. Dummerweise ließ sich das Print-CSS nicht richtig damit testen. Zwar kann man in der WebDeveloper-Erweiterung einstellen, dass auch die Print-CSS angezeigt werden soll:

Firefox WebDeveloper Toolbar zeigt Druck-Menü
Firefox WebDeveloper Toolbar-Option für Druckstile

Der Browser verhält sich aber trotzdem anders und stellt sich z.B. auch gar nicht auf die richtige Breite ein. Das ist blöd, gerade wenn man viele Media-Queries nutzt. Weiterlesen

“This plugin is not properly prepared for localization”

Seit WordPress 4.6 gibt es die Möglichkeit, dass Plugins, die sich bei wordpress.org befinden, über translate.wordpress.org zu übersetzten. Nun ist es so, dass einmal hochgeladene Plugins bei Glotpress die Anmerkung bekommen, dass das Plugin noch nicht für die String-Lokalisierung vorbereitet sei (engl. “This plugin is not properly prepared for localization”). Hier steht, wie man das “repariert”: Weiterlesen

Spezielle Font zum Programmieren

Zuletzt habe ich einen Tweet von Wes Bos gesehen. Interessant fand ich, dass er verschiedene Schriftarten für Sublime nutzt:

Natürlich hab gleich mal nachgefragt. Die Antwort steht aber auch auf seiner Seite: es ist die Operator Mono die aber knapp 200 Euro kostet. Glücklicherweise hatte die T3N schon einmal einen passenden Blogbeitrag gepostet in der auch einige Fonts vorgestellt wurden. So bin ich dann über die OpenSource Font FiraCode gestoßen. Weiterlesen

Performance: Heartbeat von WordPress verlängern

Wenn viele User an einem System arbeiten (oder man viele Tabs offen hat), kann der so genannte Heartbeat von WordPress das gesamte System ganz schön in Mitleidenschaft ziehen.

Der Heartbeat ist ein kleines JavaScript, welches in der Regel alle 15 Sekunden eine Anfrage an den Server schickt damit WordPress weiß, dass der User “noch da” ist. Darüber hinaus ist es für andere Funktionen zuständig. Zum Beispiel für die Anzeige ob ein Blogbeitrag gerade von einem anderen User bearbeitet wird. Weiterlesen

?? 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