Как определить, есть ли следующая страница


Я новичок в разработке WordPress, просто пытаюсь преобразовать свой HTML в тему WordPress, я начал с пустой темы Криса Койера.

<div class="navigation">
    <div class="next-posts">
        <?php next_posts_link('&laquo; Older Entries') ?>
    </div>
    <div class="prev-posts">
        <?php previous_posts_link('Newer Entries &raquo;') ?>
    </div>
</div>

Как я могу вывести div, только если есть next_posts_link(). Мне это нужно, так как я буду использовать <ul> для разбиения на страницы. Если я этого не сделаю, я получу пустую пулю

 17
Author: wittich, 2011-02-12

3 answers

Вы можете использовать get_previous_posts_link и get_next_posts_link , чтобы определить, существуют ли они следующим образом:

$prev_link = get_previous_posts_link(__('&laquo; Older Entries'));
$next_link = get_next_posts_link(__('Newer Entries &raquo;'));
// 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>';
}

Надеюсь, Это Поможет

 19
Author: Bainternet, 2017-05-25 12:44:13

Я написал это некоторое время назад, но все равно должно быть действительным:

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('&laquo; Older Entries') ?></div>
    <div class="prev-posts"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
</div>
<?php endif; ?>
 14
Author: Eric Martin, 2011-02-12 22:45:03

Лучшим решением является проверка $wp_query->max_num_pages, но вы также можете использовать:

<?php
if(paginate_links()) {
...
}
 4
Author: Maxwell s.c, 2018-11-09 16:26:25