ACF: Das_field gibt mit zwei Schleifen Feldinhalte aus einer anderen Schleife zurück

Im Wesentlichen auf meiner single.php-Datei, ich befrage den aktuellen Beitrag direkt in die Vorlage, während auch eine verwandte Beiträge Abschnitt.

Das Problem ist, dass wenn ACF versucht, das Feld des Posts innerhalb der verwandten Post-Abfrage-Schleife abzurufen, es stattdessen den aktuell angezeigten Post abruft.

while(have_posts()){ the_post(); echo the_field('field1'); echo the_field('field2'); echo the_field('field3'); } $recent_posts = wp_get_recent_posts(); foreach( $recent_posts as $recent ){ ?> <img src="https://wordpress.stackexchange.com/questions/285557/acf-using-two-loops-the-field-returns-field-content-from-another-loop/"> <?php echo the_title(); } 

Im Wesentlichen wird also field1 aus dem aktuellen Post anstelle der recent_posts-Abfrage abgerufen. Ich bin sehr verwirrt über dieses Problem. Die Schleife und Abfrage sind außerhalb des Bereichs der While-Schleife, also sollte es in Ordnung sein, oder?

Solutions Collecting From Web of "ACF: Das_field gibt mit zwei Schleifen Feldinhalte aus einer anderen Schleife zurück"

Ich habe keine Lust auf Hilfsfunktionen, also würde ich es so schreiben:

 $args=array( 'post_type' => 'post', 'posts_per_page' => '20', 'post_status' => 'publish', 'order'=>'DESC', 'orderby'=>'ID', ); $query = new WP_Query( $args ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); $current_id = $post->ID; echo the_field('field1', $current_id); } wp_reset_postdata(); } else { // no post }