Warum ich Meta Box AIO ACF Pro (NICHT MEHR) vorziehe

network 4894815
Bild von Geralt auf Pixabay

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. Das ist der einzige Wehrmutstropfen. Generell baue ich nicht mit und auf Komponenten, die abonniert werden müssen. Hätte ich nicht noch eine alte Lifetime-Lizenz von ACF wären mir die Neuerungen entgangen.

Metabox.io war mal 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 umständlich, und für Nicht-Entwickler kostspielig, da sich Anbieter die Fähigkeit, ACF-Daten einzubeziehen, gut bezahlen lassen.

Nachtrag November 2023 : wer Metabox Blöcke in Templates oder Template Parts verwenden möchte, kann dies bisher (immer noch nicht) nicht tun. Darauf, dass FSE unterstützt wird, wartet schon so mancher seit Monaten vergebens. – Damit kann ich das MB Block-Plugin in neuen WordPress-Projekten praktisch nicht gebrauchen. – Schade.

Die Umsetzung von benutzerdefinierten Blöcken ist mit ACF besser gelöst und bezieht mehr native WP-Funktionalität mit ein (z.B. die Verwendung einer block.json).

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable