Multi Medial - analog bis ziemlich digital

Schlagwort: Projekt26

Folie: The power of taxonomies for better websites - Ralf Wiechers

Mein Vortrag: The power of taxonomies for better websites

Die Tage und Wochen verfliegen wieder so schnell, dass es mir schwer fällt bei #Projekt26 mitzuhalten. Da es diese Woche viele positive Entwicklungen für mein Projekt CoWorking Schlei gab muss ich einen Joker ziehen und meinen nicht ganz frischen Vortrag vom WordCamp Athen verbloggen.

Auch wenn der Vortrag aus dem letzten Jahr stammt passt er gut in meine Reihe „WordPress als Content-Managment-System (CMS)„. Es liegen auch schon angefangene Entwürfe für weitere Artikeel bereit. Heute aber erstmal ein Video von mir in englischer Sprache.

Filtern da wo kein Filter ist | #Projekt26

Für ein Kundenprojekt auf einer WordPress-Multisite und mit einer sehr großen Anzahl an Einträgen, die aus einer Warenwirtschaft gespeißt werden, sollten im Frontend bestimmte Post-Metadaten formatiert werden ohne das bei jeder einzelnen Ausgabe im Frontend über das richtige Format nachgedacht werden muss.

Zum Beispiel können Entfernungen oder Gewichte mit ihren Einheiten versehen werden.
Datenbank: „5“
Frontend: „5 kg“ oder „5,00 kg“

Das Problem

Um einen eigenen Formatierungs-Helfer zu vermeiden war meine Idee, dann filtern wir doch einfach den Wert unmittelbar bevor er von der get_post_meta() Funktion zurück gegeben wird. Pech gehabt. In der Funktion und allen weiteren Funktionen die sie aufruft gibt es nur einen relevanten Filter: get_{$meta_type}_metadata

Dieser dient eigentlich dazu zu prüfen ob der aktuelle Benutzer einen Postmeta Wert überhaupt auslesen darf und im negativen Fall eine Alternative zurück zu liefern.

In dem Moment wo diese Prüfung ausgeführt wird „kennt“ das Programm den Postmeta-Wert noch nicht. Ist somit nicht Teil der Parameter von apply_filters().

Fügt man einen eigenen Filter an der Stelle hinzu kann man wierderum get_post_meta() aufrufen. Aber dann landed man direkt wieder in dem selben eigenen Filter und somit in einer Endlosschleife.

Präsentiert von WordPress & Theme erstellt von Anders Norén