Как определить, есть ли следующая страница
Я новичок в разработке WordPress, просто пытаюсь преобразовать свой HTML в тему WordPress, я начал с пустой темы Криса Койера.
<div class="navigation">
<div class="next-posts">
<?php next_posts_link('« Older Entries') ?>
</div>
<div class="prev-posts">
<?php previous_posts_link('Newer Entries »') ?>
</div>
</div>
Как я могу вывести div, только если есть next_posts_link()
. Мне это нужно, так как я буду использовать <ul>
для разбиения на страницы. Если я этого не сделаю, я получу пустую пулю
3 answers
Вы можете использовать get_previous_posts_link
и get_next_posts_link
, чтобы определить, существуют ли они следующим образом:
$prev_link = get_previous_posts_link(__('« Older Entries'));
$next_link = get_next_posts_link(__('Newer Entries »'));
// as suggested in comments
if ($prev_link || $next_link) {
echo '<ul class="navigation">';
if ($prev_link){
echo '<li>'.$prev_link .'</li>';
}
if ($next_link){
echo '<li>'.$next_link .'</li>';
}
echo '</ul>';
}
Надеюсь, Это Поможет
Я написал это некоторое время назад, но все равно должно быть действительным:
Http://www.ericmmartin.com/conditional-pagepost-navigation-links-in-wordpress-redux/
Вы можете добавить следующую функцию в свой файл functions.php
:
/**
* If more than one page exists, return TRUE.
*/
function show_posts_nav() {
global $wp_query;
return ($wp_query->max_num_pages > 1);
}
Обновите свой код до:
<?php if (show_posts_nav()) : ?>
<div class="navigation">
<div class="next-posts"><?php next_posts_link('« Older Entries') ?></div>
<div class="prev-posts"><?php previous_posts_link('Newer Entries »') ?></div>
</div>
<?php endif; ?>
Лучшим решением является проверка $wp_query->max_num_pages
, но вы также можете использовать:
<?php
if(paginate_links()) {
...
}