Elementor Beiträge Widget mit ACF Beziehungsfeld füllen

Inhaltsverzeichnis

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:

  1. ACF Beziehungsfeld (zB Feldname “mein_acf_beziehungsfeld“) auf der gewünschten Seite oder dem gewünschten Inhaltstyp einbauen und mit Daten füllen.
  2. In Elementor das Widget “Beiträge” an die gewünschte Stelle ziehen
  3. Einstellungen Elementor: Quelle: -> Inhaltstyp
  4. Abfrage-ID: Eine individuelle ID eingeben, z.B. “acf_relation
  5. In der Vorschau erscheinen nun zunächst alle Inhaltstypen, das ändern wir jetzt.
  6. Speichern und Elementor Editor verlassen
  7. 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.