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, PHP, Tipps, WordPress

Entscheidungshilfe: get_post() oder WP_Query

WordPress stellt oft verschieden Wege bereit um an Daten zu kommen. Im Umfeld von Inhalt – Einzelne Artikel, Kommentare, … – beschränkt sich dies im Grunde auf zwei Wege. Beide sind im Netz zigfach in Tutorials hinterlegt und oft ist die Nutzung des jeweiligen Weges nicht zu Ende gedacht. Es gibt viele Artikel um die Hintergründe zu verstehen und sich mit dem gewonnen Verständnis für die entsprechende Methode zu entscheiden. Herausragend in Bildform und verständlich ist der Eintrag #1753 im WPSE.

Bitte nicht mit get_posts() verwechseln, get_posts() und get_post() sind für unterschiedliche Resultate erstellt. In kurzer Form dient get_posts() für viele Inhalte zum Type post. Die Entscheidungshilfe hier ist für die Ausgabe von einem Artikel, dessen Inhalte, dessen zugehörigen Daten. Im Grunde kann man aber von der Regel zu get_posts vs. WP_Query einiges ableiten.

Ich möchte nur eine kurze Entscheidungshilfe geben, die euch und mich in die Lage versetzt, aufgrund einiger weniger Punkte zu entscheiden, beim Holen einzelner Inhalte – get_post() oder WP_Query.
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, Tipps, WordPress

WordPress Theme Customizer Custom Controls

Puh, schwerer Titel – aber er trifft es und es ist schwer die Möglichkeit in deutscher Sprache zu nennen ohne die gleiche Unsicherheit zu erzeugen. Der englische Begriff ist wenigstens auf die Begriffe von WordrPress zurück zu führen. Zum Verständnis daher einige Worte, die erklären, was ich sagen will und worum es geht.

Der Customizer ist eine recht junge Möglichkeit von WordPress um Themes mit Optionen zu versorgen. Dabei ist das Visuelle besonders im Vordergrund, man gestaltet die Optionen direkt im Frontend am Theme, spielt und speichert die Einstellungen. Einige Zeilen dazu habe ich in einem älteren Artikel hinterlegt und ebenso die Slides zum Thema hinterlegt.

Nun soll es in diesem Beitrag gehen, wie man eigene Klassen erstellt, die die Controls erweitern, da nicht alle Felder und Wünsche im Core hinterlegt sind. Dabei kann man auf bestehende Lösungen der Community zugreifen oder eigenen Klassen erstellen. Im ersten Schritt daher einen kurze Einführung für neue Klassen und im Anschluss der Hinweis zu mir bekannten Klassen. Bitte erweitert in dem ihr mir über die Kommentarfunktion Links nennt.
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