network 4894815
|

Warum ich Meta Box AIO ACF Pro vorziehe

Meta Box verwendete ich lange bevor ich mit ACF zu tun hatte. Ich entdeckte es kurz, nachdem es erschienen war. Meta Box wurde von einem Entwickler für Entwickler entwickelt, um eine Schnittstelle für Metaboxen und benutzerdefinierte Felder zu schaffen, mit der man schnell eigene Felder anlegen und einsetzen konnte. Es gab keine Oberfläche, sondern nur die Meta Box API.

Der Grund dafür ist, dass es sich hierbei nur um eine Bibliothek handelte, in der alle Konfigurationen über die Codeschnipsel erfolgen, die man seinem Theme oder Plugin hinzufügt.

Das Tolle daran ist, man legt nur ein Array für die Felder an die man braucht, und um den Rest (Eingabemasken, Validierung, Speichern) kümmert sich das Plugin. Da ich viel mit Datenfeldern arbeitete, war die Entdeckung von Meta Box eine große Erleichterung.

Die Methode bietet viele Vorteile wie die Erhöhung der Website-Performance und Flexibilität, sowie die einfache Integration in Themes oder andere Plugins. Neue Felder sind schnell eingepflegt, und neue, eigene Felder zu definieren geht genauso leicht.

Schon die Meta Box Basis ist mächtig

Das Meta Box Basisplugin wird in jedem Fall benötigt, auch wenn man auf Premium umstellt, denn es liefert die API.

Die kostenlose Basis erfordert für die Definition der Felder auf jeden Fall Coding.

Eine visuelle Oberfläche um Felder anzulegen gibt es in der Basis-Version zwar nicht, die Eingabemasken lassen sich allerdings flexibel gestalten (12 Col Grid).

Bereits mit der freien API von Meta Box hat man alle Feldtypen zur Verfügung.

Es gibt kein eigenes Repeater Field. Bei Meta Box ist jedes Feld ganz einfach „cloneable“, wenn man es will. Ob Gruppe oder einfaches Feld, daraus ein Repeater Field zu machen ist bereits Bestandteil der kostenfreien Version. Das funktionert auch verschachtelt (Clonables innerhalb von Cloneables).

Meta Box AIO (das für All In One steht) besteht aus vielen Plugins, die entweder einzeln installiert, oder über ein einziges Plugin gesteuert werden. Die Basis bleibt dieselbe, was dazukommt sind grafische Oberflächen.

Meta Box AIO liefert unter anderem auch eine Oberfläche für Views mit HTML, CSS, JS und Twig um Bedingungen für die Anzeige der Inhalte festzulegen. Auch Funktionen können ausgeführt werden. Das Einfügen funktioniert über Filter, Hooks, Shortcode oder über eine Funktion. Ich kann die komplette Ausgabe meiner Daten über das Dashboard steuern, ohne ein Template oder meine functions.php anfassen zu müssen.

Eigene Blöcke können mit der Pro-Version entwickelt werden.

Meta Box-Erweiterungen können im Lifetime Bundle erworben und unbegrenzt genutzt werden.

Wer die Macht will, braucht ACF Premium

Bei ACF ist das anders. Man installiert entweder die freie Version oder ACF Pro. Die eine Version schließt die andere aus, und man muss wieder von vorne anfangen.

Das Anlegen der Felder in der freien Version erfordert keinen Code, die Ausgabe schon.

Bereits die freie Version von ACF bietet eine visuelle Oberfläche. Die Gestaltungsfreiheiten bei den Eingabemasken haben sich seit ich ACF kaufte, sogar verbessert (z.B. wer zwei oder mehr Felder in einer Zeile sehen will, braucht nun nicht mehr Pro).

Die freie Version von ACF bietet keine Repeaterfields.

Erst ACF Pro hat ein „Repeater“ Field, und da handelt es sich dann um einen eigenen Feldtyp. Diesem können beliebige andere Felder zugewiesen werden, auch andere Repeaterfields.

ACF Pro hat ein paar Felder mehr als das kostenfreie Plugin ACF, und man hat mehr Kontrolle über das Layout seiner Eingabemasken als mit der kostenfreien Version.

ACF integriert kein Werkzeug für Views. Um Feldinhalte auszugeben muss man entweder Templates bauen, Funktionen schreiben oder in zusätzliche Plugins investieren.

Was ACF Pro allerdings kann und Meta Box nicht sind benutzerdefinierte Felder für Widgets (seit WordPress 5.8 nicht mehr relevant) und Layouts. Letztere sind allerdings mit Gutenberg und Views leicht ersetzbar. Und auf dem Weg zum Full Site Editing System werden auch Widgets künftig (wie) Blöcke sein und umgekehrt.

ACF liefert ausschließlich Datenfelder.

Auch in ACF Pro ist die Entwicklung von eigenen Blöcken integriert.

Die Lifetime-Lizenz für ACF wurde abgeschafft.

Metabox.io ist umfassender

REST API, optionales Speichern der Custom Fields in eigenen Tabellen, Revisions für Datenfelder und viele mehr macht Meta Box zum umfassenden Framework für Datenerweiterungen von WordPress.

Nicht nur Google Maps scheint bei Meta Box als Feldtyp auf, sondern auch OpenStreetmap, und es gibt einen eigenen Feldtyp für Image Radio-Buttons.

Mit beiden Pro-Versionen kann man Gutenberg-Blöcke bauen. Bei komplexen Blöcken mit Wiederholern ist das Layout von Meta Box Blöcken flexibler. Frontend Submission Felder bauen ist mit Meta Box AIO komfortabler.

Meta Box AIO ist umfangreicher, mächtiger und näher an WordPress als ACF Pro. Es speichert auch die Datenfelder so, wie WordPress es täte. Daher kann man sie auch mit get_post_meta() abfragen, und man ist nicht auf weitere kostenpflichtige externe Lösungen angewiesen, um Daten zu exportieren oder zu migrieren.

ACF braucht für jedes einfache Datenfeld zwei Postmeta-Einträge. Während Metabox Subfelder unter dem Hauptfeld speichert (serialisiertes Array mit Schlüssel und Werten), kriegt man mit ACF für jeden Eintrag in einem Subfeld zwei weitere Postmeta-Einträge verpasst (hauptfeld_0_subfeld, _hauptfeld_0_subfeld, hauptfeld_1_subfeld, _hauptfeld_1_subfeld, oder hauptfeld_0_subfeld_0_subsubfeld, _hauptfeld_0_subfeld_0_subsubfeld, hauptfeld_0_subfeld_1_subsubfeld, _hauptfeld_0_subfeld_1_subsubfeld…).

Jede Feldgruppe und jedes in ACF angelegte Feld erzeugen zudem einen Eintrag in der Inhaltstabelle von WordPress (post_type acf-field). Die umständliche und von nativen Custom Fields abweichende Form der Datenhaltung erklärt auch, warum ACF Daten nicht einfach exportiert und migriert werden können.

Die volle Kontrolle über ACF-Daten zu bekommen ist für Entwickler sehr umständlich, und für Nicht-Entwickler kostspielig, da sich Anbieter die Fähigkeit, ACF-Daten einzubeziehen, gut bezahlen lassen.

So schön wie der Code ist auch die Dokumentation

Die Dokumentationen auf der Website zu jeder Erweiterung von Metabox und jedem Feld sind übersichtlich und umfassend. Nachtrag, 03.05.2022: mittlerweile wurde die Dokumentation überarbeitet und grafisch ergänzt, wohl um mit ACF mitzuhalten. – Ich finde diesen Schritt eher bedauerlich. So schnell wie ich mich früher durch die Dokumentation bewegen konnte, geht das damit heute nicht mehr. Die visuelle Aufbereitung ist auch keineswegs hilfreich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.