Чтобы сделать предыдущую и следующую кнопки, которые l oop бесконечно перемещаются по сообщениям, я использовал этот код для создания шорткода, который отлично работает:
function prev_next() {
if( get_adjacent_post(false, '', true) ) {
previous_post_link('<div class="navigator"><div class="prev-link">Previous%link</div>', '%title');
} else {
$first = new WP_Query('posts_per_page=1&order=DESC'); $first->the_post();
echo '<div class="navigator"><div class="prev-link">Previous<a href="' . get_permalink() . '">' . get_the_title() . '</a></div>';
wp_reset_query();
};
if( get_adjacent_post(false, '', false) ) {
next_post_link('<div class="next-link">Next%link</div></div>', '%title');
} else {
$last = new WP_Query('posts_per_page=1&order=ASC'); $last->the_post();
echo '<div class="next-link">Next<a href="' . get_permalink() . '">' . get_the_title() . '</a></div></div>';
wp_reset_query();
};
}
add_shortcode( 'prev_next', 'prev_next' );
Но для того, чтобы добиться того же с помощью пользовательских Типы постов, я использовал этот код, который работает, но последний пост только когда-либо ссылается на себя:
function events_loop() {
if( get_adjacent_post(false, '', true) ) {
previous_post_link('<div class="navigator"><div class="prev-link">Previous%link</div>', '%title');
} else {
$first = new WP_Query('post_type=events&posts_per_page=1&order=DESC'); $first->the_post();
echo '<div class="navigator"><div class="prev-link">Previous<a href="' . get_permalink() . '">' . get_the_title() . '</a></div>';
wp_reset_query();
};
if( get_adjacent_post(false, '', false) ) {
next_post_link('<div class="next-link">Next%link</div></div>', '%title');
} else {
$last = new WP_Query('post_type=events&posts_per_page=1&order=ASC'); $last->the_post();
echo '<div class="next-link">Next<a href="' . get_permalink() . '">' . get_the_title() . '</a></div></div>';
wp_reset_query();
};
}
add_shortcode( 'events_loop', 'events_loop' );
Я видел много людей, сообщающих об одной и той же проблеме, поэтому я начинаю думать, что это на самом деле не возможно. Я не прав, конечно?