Поддержка Проблемы и решения Задать правильное условие для previous_post_link и next_post_link

  • Здравствуйте! На странице отдельной записи выводятся ссылки на предыдущий и следующий пост из рубрики:

    <nav class="nav-single">
    <div class="assistive-text"><?php _e( 'Post navigation', 'iconic-one' ); ?></div>
    <span class="nav-previous"><?php previous_post_link('%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post previous link', 'iconic-one' ) . '</span>', 'true' ); ?></span>
    <span class="nav-next"><?php next_post_link( '%link', '<span class="meta-nav">' . _x('&larr;', 'Next post link', 'iconic-one' ) . '</span> %title', 'true'); ?></span>
    </nav>

    Как сделать так, что если в рубрике только один пост, то эта навигация не выводилась? Сейчас, в исходном коде, при отсутствии других записей в рубрике, пустые span:

    <nav class="nav-single">
    <div class="assistive-text">Навигация по записям</div>
    <span class="nav-previous"></span>
    <span class="nav-next"></span>
    </nav>
    • Тема изменена 6 лет, 9 месяцев назад пользователем antisept.
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Здравствуйте.

    Как вариант, попробовать сделать проверку с помощью
    get_previous_post_link / get_next_post_link
    или
    get_next_post / get_previous_post

    <?php if(get_previous_post()) : ?>
    <span class="nav-previous"><?php previous_post_link('%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post previous link', 'iconic-one' ) . '</span>', 'true' ); ?></span>
    <?php endif; ?>
    <?php if(get_next_post()) : ?>
    <span class="nav-next"><?php next_post_link( '%link', '<span class="meta-nav">' . _x('&larr;', 'Next post link', 'iconic-one' ) . '</span> %title', 'true'); ?></span>
    <?php endif; ?>

    Спасибо! Вот так сработало:

    <?php if(get_previous_post(true) or get_next_post(true)) : ?>
    <nav class="nav-single">
    <div class="assistive-text"><?php _e( 'Post navigation', 'iconic-one' ); ?></div>
    <span class="nav-previous"><?php previous_post_link('%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post previous link', 'iconic-one' ) . '</span>', 'true' ); ?></span>
    <span class="nav-next"><?php next_post_link( '%link', '<span class="meta-nav">' . _x('&larr;', 'Next post link', 'iconic-one' ) . '</span> %title', 'true'); ?></span>
    </nav>
    <?php endif; ?>
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Задать правильное условие для previous_post_link и next_post_link» закрыта для новых ответов.