Ich versuche, geschachtelte Schleifen mit den Beiträgen zu Beiträgen Plugin zu verwenden. Die Schleifen funktionieren beide, aber das Problem tritt nach der zweiten verschachtelten Schleife ($ issue) auf. Ich möchte erneut auf die $ publication-Schleife zugreifen, aber die Daten sind immer noch die $ issue-Daten.
wp_reset_query()
wird gleich wieder auf die Hauptschleife in single.php zurückgesetzt, die ich nicht will.
Ich könnte get_posts()
anstelle von neuem WP_Query verwenden, aber ich möchte verwenden können get_template_part()
.
Wie kann ich meine Daten in die Publikationsschleife zurücksetzen, sodass der zweite "Publikationstitel" die Publikation und nicht den Titel der Ausgabe zurückgibt?
Hier ist mein Code in single.php:
$publication = new WP_Query( array(
'connected_type' => 'publication_to_post',
'connected_items' => $post->ID,
'fields' => 'ids',
'posts_per_page' => 1,
) );
if ( $publication->have_posts() ) {
while ( $publication->have_posts() ) : $publication->the_post();
echo '<h2>Publication title = '.get_the_title().'</h2>';
$pub_id = get_the_ID();
$issue = new WP_Query( array(
'connected_type' => 'publication_to_issue',
'connected_items' => $pub_id,
'fields' => 'ids',
'posts_per_page' => 1,
) );
if ( $issue->have_posts() ) {
while ( $issue->have_posts() ) : $issue->the_post();
// need to be able to use template parts in here
echo '<h2>Issue title = '.get_the_title().'</h2>';
endwhile;
}
// This currently returns the issue title, not the publication title
echo '<h2>Publication title = '.get_the_title().'</h2>';
endwhile;
}
Zunächst denke ich, dass es möglich ist,
get_posts()
in Kombination mit zu verwendensetup_postdata()
. Mit diesen können Sie die Template-Tags wie in einer normalen WordPress-Schleife verwenden.Sie können diese Funktion aber auch in Ihren verschachtelten Schleifen verwenden:
quelle