Willst du die Abfrage von Beiträgen oder Custom Post Types (CPT) in Elementor anpassen, dann musst du im Beitrags-Modul eine Query ID („Abfrage ID“) vergeben:
Anschließend kannst du in der functions.php eine WordPress-Action mit dieser ID anlegen:
// ersetze QUERYID durch deine eigene ID!
add_action('elementor/query/QUERYID', function($wp_query, $widget) {
// Dein Code kannn jetzt $wp_query beliebig verändern, z.B.
// Sortierung nach ACF-Meta-Feld "datum":
$wp_query->query_vars['meta_key'] = 'ACFMETAFELD-ID';
$wp_query->query_vars['orderby'] = 'meta_value';
$wp_query->query_vars['order'] = 'desc';
}, 10, 2);
Ersetze dabei die QUERYID
durch die im Widget angegebene ID.
Du kannst dann in der Funktion via $wp\_query
die Abfrage beliebig bearbeiten.
Weitere Details findest du in der offiziellen Elementor-Dokumentation für Entwickler.
2 Antworten
Ich habe auf einer Seite einem container eine ID zugewiesen und wollte im Beitrags Widget den Inhalt des Containers auf der Seite über die Abfrage der ID aufrufen. Leider wird der Text-Auszug vom ersten Container auf der Seite angezeigt. Woran kann das liegen?
Hallo Marcus,
die Abfrage-ID des Beitragsmoduls hat nichts mit der CSS-ID von Containern (oder Abschnitten/Modulen/Widgets…) zu tun.
Die Abfrage-ID wird bei einem WordPress-Hook mitgegeben, damit kannst du wie oben angegeben im PHP-Code die Query anpassen… aber nicht festlegen, welche Container-IDs von den gefundenen Seiten angezeigt werden.
Dafür müsstest du
a) die Daten strukturiert erfassen (z.B. mit ACF Pro)
b) mit dem Elementor Loop diese Daten anzeigen.
lg Michael