Code, PHP, Tipps, WordPress

Wildcard in WP_User_Query()

Für nutzerbezogene Daten steht in WordPress die Klasse WP_User_Query() zur Verfügung. Üblicherweise gibt man dort einen Schlüssel mit und bekommt die entsprechenden Werte zum User zurück. Durch ein Entwicklungsthema ist mir eine Besonderheit in der Query aufgefallen, die diesen kleinen Beitrag als Folge hat. Die Klasse erlaubt das Ergänzen von * als Wildcard. Innerhalb der Klasse wird dieser Stern dann für die SQL Abfrage ersetzt (%).
Weiterlesen

Standard
Code, Entwicklung, PHP

Einfaches PHP Debugging in Browser Console

debug-to-console

Ich nutze die Console im Browser der gern um Debug-Inhalte auszugeben. Insbesondere bei Kunden-Sites kann ich so recht unscheinbar arbeiten und muss nicht die Oberfläche mit Debug-Meldungen zu zerstören, auch wenn man dies natürlich via Rechtabfrage filtern sollte. Im folgenden eine kleine Funktion, die mir den Inhalt in die Console schreibt, ohne Helferlein. Dies ist auch im Plugin Debug Objects untergebracht und kann beim Einsatz des Plugins direkt genutzt werden.

Der Screenshot demonstriert dies an einem komplexen Objekt in der Ausgabe und dient nur dem Verständnis. Den Inhalt, den ihr ausgeben wollt, liegt natürlich in eurer Hand.

Weiterlesen
Standard
Code, PHP, Tipps, WordPress

Liste aller Blogs in WordPress Multisite

WordPress Multisite ist seit der Zusammenlegung von MU und Single ab Version 3.0 populärer geworden. Nicht nur die Verwaltung meherer Sites, sondern auch in diversen Szenarios findet Multisite seinen Einsatz. Als ein Beispiel sei die Mehrsprachigkeits-Lösung genannt.

In diesem Umfeld werden des öfteren die Inhalte oder Daten aus allen Blogs gebraucht, wozu man ggf. alle Blogs kennen muss. Bemüht man eine Suche um eine Lösung zu finden, dann erscheinen sehr oft div. SQL Selects, die auch in vielen Lösungen verbaut wurden und daher zum Nachahmen aufrufen. Da ich aktuell in einem Projekt wieder damit zu tun hatte und ein Select nicht die erste Wahl sein sollte, wenn es Core Functionen gibt, hier ein kurzes Snippet, was alle Blogs im Network zurück gibt.
Weiterlesen

Standard
Code, PHP, Plugin, Tipps, WordPress

WordPress Puls? – Heartbeat API

Mit WordPress 3.6 wird es eine neue API geben – Heartbeat. Am Ticket 23216 im Trac sammeln sich alle Diskussionen und Hinweise. Da Heartbeat aber auch Einflüsse für Anwender haben kann, hier einige Worte und Hinweise. Heartbeat wird eingeführt um diverse Aktivitäten, wie Autosave, Sperren von Artikeln und An- und Abmelde-Benachrichtigungen zu händeln. Parallel kann die API auch für eigene Entwicklungen genutzt werden. Weiterlesen

Standard
Code, PHP, Plugin, Tipps, WordPress

Post Format UI deaktivieren

WordPress Version 3.6 kommt mit neuer Oberfläche für die Post Formats, präsenter ist das Schlagwort. Die Post Format UI ist eine wunderbare Möglichkeit mit wenig Aufwand Artikel besser uns sichtbar zu deklarieren, für den Leser verschieden aufzubereiten. Trotzdem ist sie nicht immer notwendig. Im Standard kann die UI in den jeweiligen Optionen des Users deaktiviert werden, siehe Screenshot.

post-format-ui

Alternativ kann der Filter Hook enable_post_format_ui genutzt werden. Mittels dieses Hooks kann die UI global in der Installation deaktiviet werden und kein User hat die Möglichkeit die Post Formats zu nutzen. Weiterlesen

Standard
Code, Entwicklung, PHP, Tipps, WordPress

Chrome Logger – ChromePHP

Der Webinspector in Chromium ist mir ans Herz gewachsen, Firebug ist für mich nur notwendig, wenn ich im Firefox validieren muss. In diesem Zusammenhang habe ich auch das Debuggen im PHP Umfeld dort abgebildet. Bin ich nicht komplett in der IDE und man braucht diverse Daten im Debuggmodus, dann kann man dies über die Wege var_dump() in der Applikation ausgeben oder alternativ in Chromium mit Hilfe der Erweiterung Chrome Logger und der Library ChromePHP tun. Somit wird die Oberfläche nicht durch die Debug-Ausgaben zerstört und kann in Systemen bei Kunden sauber in die Konsole des Webinspector überführt werden. Dazu einige Hinweise.
Weiterlesen

Standard
Code, PHP, Plugin, Tipps, WordPress

Gist via oEmbed in WordPress einbinden

WordPress hat seit geraumer Zeit die oEmbed Integration um einfach und unkompliziert Inhalte von anderen Siters und Services einzubinden. Besonders bekannt sind dabei diverse Video-Portale und seit der letzten WordPress Version Twitter. Wie so oft in WordPress kann man diese Möglichkeit nutzen und erweitern. In meinem Fall ging es darum, dass Inhalt von Github Gists einfach integriert werden können, einfach per URL in den Inhalt kopieren und gut. Dabei ist ein kleines Plugin entstanden, welches auf Github liegt und von dort genutzt werden kann und ggf. auch via Fork erweitert werden kann.
»» zum Plugin
Weiterlesen

Standard
Code, PHP, Plugin, Tipps, WordPress

Update-Prüfung für ausgewählte Plugins in WordPress Multisite unterbinden

Nichte selten werden für Kunden spezielle Plugins erstellt, die nicht im offiziellen Repository von WordPress liegen und trotzdem der Update-Prüfung unterliegen. Auch kann es dazu kommen, dass Plugins im Repository hinzukommen, die den gleichen Namen haben und damit ggf. versehentlich vom Anwender durch das Autoupdate überschrieben werden. Für eigene Plugins kann man dies in einer Single-Installation recht gut unterbinden – in einer Multisite Installation sieht dies anders aus. Ist das jeweilige Plugin in einem Blog des Netzwerkes aktiviert, dann wird die Prüfung durch das Plugin auch nur dort unterbunden, denn nur in dem Blog ist es inkludiert. In der Netzwerkverwaltung bleibt die Prüfung aktiv und ggf. werden dort Updates angeboten und überschreiben das Plugin.
Weiterlesen

Standard
Code, PHP, Plugin, Tipps, WordPress

Taxonomien im WordPress Media Manager nutzen

Mit WordPress 3.5 hat sich insbesondere im Medien- und Attachment Umfeld viel geändert. Es wurde nicht nur in der Oberfläche geschraubt sondern auch viel im Workflow und in den Standards geändert. So benutzt die Medienverwaltung seit 3.5 die Standard-UI der Post Types und kann daher ebenso einfach erweitert werden, wie das bereits von anderen Post-Typen bekannt ist. So lassen sich einfach Meta Boxen ergänzen und neue Daten und Inhalte speichern. In diesem Zusammenhang kann man daher auch recht einfach eine Kategorisierung, Taxonomie zu den Medien aktivieren. Dazu möchte ich zwei Lösungen vorstellen, die einfach genutzt werden können oder zum weiter entwickeln anregen.
Weiterlesen

Standard