Как я использую разбиение на страницы в WordPress?

Я использую index.php файл и редактирую это так, чтобы он отобразил две статьи за один раз. Я использую query_posts( $query_string . '&posts_per_page=2' ); прежде чем основной цикл и это отображают то, что я хочу правильно.

Как у меня может быть навигация страницы внизу?

0
12.02.2012, 10:31
3 ответа

query_posts изменяет основной цикл и портит разбиение на страницы.

Использовать new WP_Query показать Ваши первые 2 сообщения перед основным циклом.

<?php

$args = array(
    'posts_per_page' => 2,
    );

$myquery = new WP_Query( $args );

        while ( $myquery->have_posts() ) : $myquery->the_post(); 

//Do stuff

endwhile;

wp_reset_postdata();

//Run main loop
0
19.02.2020, 23:52

Для пользовательских запросов необходимо включить подкачку страниц включением $paged в Ваших параметрах запроса.

$paged глобальное, которое устанавливается/обновляется каждый раз, когда Вы в контексте запроса. WordPress смотрит на структуру URL /page/x в URL для определения номера страницы, x быть числом. Это затем используется стандартными функциями пейджинга, например. previous_posts_link() и next_posts_link() пока это не перезаписывается или сбросило использование wp_reset_query().

// new query that respects $paged
query_posts( $query_string . '&posts_per_page=2&paged=' . $paged );

if ( have_posts() ) :

    while ( have_posts() ) : the_post();

        get_template_part( 'post' );

    endwhile;

    // pagination links to show next 2 or previous 2 posts
    next_posts_link();
    previous_posts_link();

endif;

// return to the original URL query
wp_reset_query();
0
19.02.2020, 23:52

Как в комментариях, не ясно, почему Вы не можете использовать опции: панель инструментов-> настройки-> читающий-> страницы Blog показывает самое большее [] сообщения

Однако, если необходимо, чтобы это было сделано через изменение запроса (скажите для предназначения только для определенных страниц или архивов), затем это должно действительно быть сделано на pre_get_post:

Например, изменить сообщение на страницу для любого архива для термина в таксономии 'моего-налога':

add_action('pre_get_posts','wpse26898_change_per_post');
function wpse26898_change_per_post( $query ){
    if( $query->is_main_query() && is_tax('my-tax') ){
        $query->set('posts_per_page'=>2);
    }
}
2
19.02.2020, 23:52

Теги

Похожие вопросы