Создал небольшой блог с двумя кнопками и циклическим просмотром всех сообщений.
Проблема в том, что я хочу создать лучший UX для своих читателей. Я хочу, чтобы кнопки «предыдущий» и «следующий» оставались статичными. Однако, как только вы доберетесь до конца (или начала) массива сообщений, одна из этих кнопок исчезнет. Как я могу предотвратить это?
<h3 class = "text-white"><?php previous_post_link('%link','previous'); ?></h3></span>
<span class = "ml-5 mr-1"><h3 class = "text-white"><?php next_post_link('%link','next'); ?></h3></span>






Попробуйте что-нибудь вроде этого
<?php
if (get_adjacent_post(false, '', true)) {
previous_post_link('%link', '← Previous Post');
} else {
$first = new WP_Query('posts_per_page=1&order=DESC');
$first->the_post();
echo '<a href = "' . get_permalink() . '">← Previous Post</a>';
wp_reset_postdata();
};
if (get_adjacent_post(false, '', false)) {
next_post_link('%link', 'Next Post →');
} else {
$last = new WP_Query('posts_per_page=1&order=ASC');
$last->the_post();
echo '<a href = "' . get_permalink() . '">Next Post →</a>';
wp_reset_postdata();
};
?>
На самом деле я думаю, что это невозможно, но у меня есть небольшая идея обходного пути:
Проверьте, есть ли у «next_post_link()» обратный вызов. Если он возвращает «false», когда нет следующего сообщения, вы можете просто распечатать свою собственную кнопку с помощью некоторого HTML. То же самое с prev_post_link()