게시물 게시 플러그인으로 중첩 루프를 사용하려고합니다. 루프는 모두 작동하지만 문제는 두 번째 중첩 루프 ($ issue) 후에 발생합니다. $ publication 루프에 다시 액세스하고 싶지만 데이터는 여전히 $ issue 데이터입니다.
wp_reset_query()
원하지 않는 single.php의 메인 루프로 다시 재설정됩니다.
get_posts()
새로운 WP_Query 대신 사용할 수 있지만 사용할 수 있기를 원합니다 get_template_part()
.
두 번째 '게시물 제목'이 발행물이 아니라 발행물을 반환하도록 데이터를 발행물 루프로 다시 재설정하려면 어떻게해야합니까?
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;
}