Mit dem Beiträge Widget in Elementor kann man schon recht bequem in einer Schleife andere Beiträge, Seiten, Produkte oder Custom Post Types (CPT) ( = Benutzerdefinierte Inhaltstypen) auf einer Seite darstellen. Knifflig wird es dann nur, wenn man die Inhalte von einem Meta-Feld, z.B. einem ACF Beziehungsfeld darstellen möchte.
Problem:
Die Option bietet ACF Beziehung in Beitrags-Widget bietet Elementor nicht.
Lösung:
- ACF Beziehungsfeld (zB Feldname “mein_acf_beziehungsfeld“) auf der gewünschten Seite oder dem gewünschten Inhaltstyp einbauen und mit Daten füllen.
- In Elementor das Widget “Beiträge” an die gewünschte Stelle ziehen
- Einstellungen Elementor: Quelle: -> Inhaltstyp
- Abfrage-ID: Eine individuelle ID eingeben, z.B. “acf_relation“
- In der Vorschau erscheinen nun zunächst alle Inhaltstypen, das ändern wir jetzt.
- Speichern und Elementor Editor verlassen
- functions.php (Hinweis: Nur am Child Theme arbeiten!) editieren. Folgender Code ändert das WP_Query Objekt von Elementor:
add_action( 'elementor/query/acf_relation', function ( WP_Query $query ) { $ids = get_field('mein_acf_beziehungsfeld', get_the_ID()); $query->set( 'post__in', $ids ); $query->set( 'orderby', 'post__in' ); } );
Nun sollten die entsprechend ausgewählten Beziehungen dargestellt werden und zwar in der gleichen Reihenfolge wie sie im ACF Beziehungsfeld stehen.