• Здравствуйте, хочу вывести 100 постов с помощью wp_query. Сейчас выводится по 10 постов на странице и без ограничений, а нужно чтобы выводилось только 100.
    Весь код выглядит так:

        global $wp_query;
        $foo = $wp_query;
        $args = array(
            'paged'           => $paged,
            'post_type'       => 'post',
            'posts_per_page' => 10,		
            'meta_key' => 'ratings_average',
            'orderby' => 'meta_value_num',
            'order' => 'DESC',        
        );		
    $my_post = new WP_Query( $args );?>
    <?php $wp_query = $my_post;?>
    <?php if($my_post->have_posts()) : ?>
    <?php while($my_post->have_posts()) : $my_post->the_post(); ?>
    //ПОСТ
    <?php endwhile; endif; ?>
    <div style="clear:both"></div> 
    <div class="page-nav"><?php theme_page_navigation(); ?></div>
    <?php $wp_query = $foo; ?>
Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Модератор Denis Yanchevskiy

    (@denisco)

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

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

    Сейчас выводится по 10 постов на странице и без ограничений, а нужно чтобы выводилось только 100.

    Вопрос в заменить 'posts_per_page' => 10, на 'posts_per_page' => 100, или я неправильно понял вопрос?

    P.S. Для внесения изменений в основной цикл лучше использовать фильтр pre_get_posts.

    'posts_per_page' => 10, Выводит 10 постов на одной странице. Я хочу выводить по 10 постов на 1 странице, но чтобы в общей суме выводилось только 100 постов — то есть 10 страниц с постами. Другими словами ТОП 100 постов с пагинацией.

    Я уже вера побывал переделать вывод под pre_get_posts, но что-то не получилось. Может Вы подскажите.
    Возможно тогда можно будет добавить параметр 'numberposts' => 100,

    Модератор Denis Yanchevskiy

    (@denisco)

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

    но чтобы в общей суме выводилось только 100 постов

    Возможно, поможет фильтр post_limits.

    function wpcodex_filter_main_search_post_limits( $limit, $query ) {     
      return 'LIMIT 0, 100'; 
    } 
    add_filter( 'post_limits', 'wpcodex_filter_main_search_post_limits', 10, 2 );

    Limit number of pages in pagination

    Он применяется для всех страниц с выводом wp_query ?
    Просто у меня есть много страниц, где используется wp_query и там ничего ограничивать ненужно.
    По сути, тут подойдет вариант, чтобы ограничить пагинацию, постов может выводиться сколько угодно, но страниц, чтобы было только 10. Тогда пользователи просто не смогут увидеть лишнего)

    Модератор Denis Yanchevskiy

    (@denisco)

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

    Просто у меня есть много страниц, где используется wp_query и там ничего ограничивать ненужно.

    Тогда воспользуйтесь условными тегами. Они помогут применить фильтр только к нужным страницам.

    Код не работает, с ним посты выводятся просто на одной странице, пагинация тоже есть, но она неработает

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Вывод 100 постов wp_query» закрыта для новых ответов.