Мне нужно создать пользовательскую навигацию по типу записи (Предыдущая / Следующая), которая будет работать в al oop - когда я достигну конца списка сообщений, нажав Далее, я перейду к публикации № 1, а когда в сообщении # 1 удар Предыдущий приведет меня к последнему. Мне нужно ввести короткий код, поскольку я использую конструктор страниц.
Вот что у меня есть:
function prev_navigation_post() {
if( get_adjacent_post(false, '', true) ) {
ob_start();
previous_post_link('%link', '← Previous Post');
$output = ob_get_clean();
return $output;
}
else {
ob_start();
$first = new WP_Query( array('post_type' => 'cpt_name'), 'posts_per_page=1&order=DESC');
$first->the_post();
echo '<a href="' . get_permalink() . '">← Previous Post</a>';
wp_reset_query();
$output = ob_get_clean();
return $output;
};
}
add_shortcode('prev_navigation_shortcode', 'prev_navigation_post');
function next_navigation_post() {
if( get_adjacent_post(false, '', false) ) {
ob_start();
next_post_link('%link', 'Next Post →');
$output = ob_get_clean();
return $output;
}
else {
ob_start();
$last = new WP_Query( array('post_type' => 'cpt_name'), 'posts_per_page=1&order=ASC');
$last->the_post();
echo '<a href="' . get_permalink() . '">Next Post →</a>';
wp_reset_query();
$output = ob_get_clean();
return $output;
};
}
add_shortcode('next_navigation_shortcode', 'next_navigation_post');
Это модификация этого решения: { ссылка }
Однако проблема в том, что хотя кнопка «Предыдущая» работает хорошо, бесконечно циклически перебирая сообщения, кнопка «Далее» - нет - когда она достигает последнего сообщения, она перестает работать (связанная ссылка указывает на тот же пост, а не первый).