Im Jahr 2013 haben wir hier kurz darüber berichtet, dass man Custom Fields (Post Meta) besser nutzbar machen und umfangreiche Funktionalität dazu in den Core geben möchte. Es gab Bestrebungen, das Handling, Aussehen und die Funktionalität in „Richtung“ Advanced Custom Fields (ACF) zu treiben.
Mit etwas mehr als einer Million aktiven Installationen weltweit gehört ACF zu den beliebtesten Plugins und dürfte das führende Post Meta Plugin sein.
Warum?
Weil es die Metadaten aufwertet und sich unsagbar viele Dinge damit umsetzen lässt.
Das blieb dem Core-Entwicklerteam natürlich nicht verborgen und deswegen gab es auch schon im Jahr 2013 diesen Feature-as-a-Plugin-Ansatz, den wir in einem Blogpost kurz thematisiert haben.
Leider ist daraus nichts geworden – das Projekt ist eingeschlafen.
Helen Hou-Sandí, ein relativ neues Mitglied im Core-Entwicklerteam, hat sich dieser Sache nun angenommen und haucht der Idee neues Leben ein, Metadaten stärker in den Vordergrund zur rücken.
Durch den Erfolg der WP (JSON) API wird WordPress immer mehr zum Framework oder zur Grundlage für WebApps. Was auf der Hand liegt, weil man sich dadurch die Datenbankabstraktion, Benutzerverwaltung, Medienverwaltung usw usf spart.
Die JSON API ist eeextremst Gold wert – aber sie deckt nicht alles ab? Was nicht? GENAU! Custom Fields sind derzeit nicht zufriedenstellend implementiert.
Daten leben nicht nur vom vordergründigen Inhalt alleine, sondern auch von den Metadaten und genau da hakt es ein wenig bei WordPress.
Zwei Eingabefelder alleine reichen im Jahr 2015 nicht mehr, um Metainformationen zu speichern.
Deswegen ist ACF ja so genial. Responsive Images, Slider, rudimentäre Webshopfunktionalität, globale Texte, Suchkriterien, Sortierkriterien, Front-End-Editing, Tag-, Category-, Termimages, zusätzliche Termoptions, rudimentäre Übersetzungen, flexible Inhalte usw usf.
Alles, was man sich an Funktionalität und verbundenen Daten wünscht und aufgrund der Tabellenstruktur der Post-Meta-Tabelle noch einigermaßen performant mit Custom Fields lösbar ist, lässt sich mit ACF leicht realisieren.
Was sich leicht realisieren lässt, wird auch von Entwicklern dankend angenommen und verwendet – dann soll so eine Funktionalität aber in den Core, um die Weiterentwicklung zu sichern. (Man sieht es beim Ausscheiden von Sergej Müller aus dem WordPress Universum, dass wir zu Abhängig von einzelnen Personen sind und diese dann auch noch zu wenig finanzieren.)
Automattic macht das eh ziemlich gut, und angelt sich die bekannteren Entwickler. (Ja! Es geht um die Entwickler! Die Plugins stehen alle unter der GPL und können von jedem geforkt werden.)
Durch den Schritt, WooCommerce zu kaufen, wandert ein weiteres, sehr stark verwendetes Plugin in „Richtung“ Core. WooCommerce wird voraussichtlich nicht direkt in den Core aufgenommen werden sondern wahrscheinlich das JetPack Plugin bereichern. Dennoch ist es für uns WordPress-Entwickler wichtig, dass WooCommerce unter der Obhut des Core-Entwicklerteams steht, die Weiterentwicklung gesichert ist und nicht die Gefahr besteht, eingestellt zu werden.
Uns als Entwickler kommen solche Schritte sehr entgegen, weil dadurch eine Planungssicherheit entsteht.
Daher ist es auch ziemlich unverständlich, warum man Elliot Condon, den Mann hinter ACF, nicht anstellt oder ACF kauft. Elliot wird vielleicht persönliche Gründe haben, davon Abstand zu nehmen.
Schade ist es aber, dass so ein Deal anscheinend nicht zustande kommt.
Dennoch geht hier etwas weiter. Das Core-Team ist dran, fängt aber bei Null an. ACF oder Elliot mit im Team zu haben wäre ein Raketenstart für die Verbesserung des Meta Handlings. Das spielt’s leider nicht, daher werden derzeit kleinere Brötchen gebacken.
Mehr Infos dazu gibt es hier:
https://make.wordpress.org/core/2015/05/27/metadata-api-project-reborn-the-new-fields-api-project/
https://make.wordpress.org/core/components/options-meta/
Wir werden sehen, ob sich zwei Jahre später mehr tut und Erfolge erzielt werden, wenn es um Meta Handling im Core geht. Das Vorhaben ist ja schon einmal gescheitert – ich wünsche Helen daher mehr Erfolg bei diesem Versuch. Im Optimalfall können wir dann kompliziertere Daten- und Beziehungsstrukturen im Backend in Core-Mentalität abbilden und per JSON auslesen. Out of the box.