Поддержка Проблемы и решения Ограничить количество постов для next_posts_link

  • Проблема в следующем:
    у меня на главной отдельно выводится последняя тема, а потом цикл по оставшимся темам (offset + 1):

    <?php
    if(!empty($paged))$page = $paged; else $page = 1;
    $posts_per_page = get_option('posts_per_page');
    $start = (($page - 1)*$posts_per_page)+1;
    ?>
    <?php global $post; $myposts = get_posts('numberposts='.$posts_per_page.'&offset='.$start); foreach($myposts as $post) : setup_postdata($post); ?>
    ...

    это работает норм, а проблема в том, что после этого вызываю next_posts_link(‘Прошлые записи’,») и за счет того, что одна тема выводится отдельно — иногда (когда общее кол-во тем = get_option(‘posts_per_page’) + 1) ссылка «прошлые записи» отображается, но при переходе по ней записей там нету (за счет offset + 1). так вот вопрос — как сказать next_post_link, что из общего кол-ва записей надо отнимать 1?
    использую кастомную тему. надеюсь понятно объяснил))

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Можно попробовать добавить перед next_posts_link():

    if ( count($myposts) == get_option('posts_per_page') + 1 ) {
    	global $wp_query;
    	$wp_query->max_num_pages--;
    }

    спасибо!
    только условие пришлось поменять:

    if (  (wp_count_posts()->publish-1) % $posts_per_page == 0 ) {
    	global $wp_query;
    	$wp_query->max_num_pages--;
    }

    в моем примере count($myposts) никогда не будет равно (get_option(‘posts_per_page’) + 1). Максимум get_option(‘posts_per_page’)

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Ограничить количество постов для next_posts_link» закрыта для новых ответов.