Saya mencoba menggunakan loop bersarang dengan plugin posting ke posting. Loop keduanya berfungsi, tetapi masalah muncul setelah loop bersarang kedua ($ issue). Saya ingin mengakses loop $ publikasi lagi, tetapi data tersebut masih $ data.
wp_reset_query()
akan mengatur ulang segera ke loop utama di single.php yang tidak saya inginkan.
Saya bisa menggunakan get_posts()
daripada WP_Query baru, tapi saya ingin dapat menggunakannya get_template_part()
.
Bagaimana saya bisa mengatur ulang data saya kembali ke loop publikasi, sehingga 'Judul Publikasi' kedua mengembalikan publikasi, bukan masalah, judul?
Ini kode saya di dalam 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;
}
Pertama-tama, saya pikir itu mungkin untuk digunakan
get_posts()
bersamasetup_postdata()
. Dengan ini, Anda dapat menggunakan tag templat seperti pada loop WordPress normal.Tetapi Anda dapat menggunakan fungsi ini juga di loop bersarang:
sumber