nika32worker 02.03.2023 21:32

Как настроить постраничную навигацию в Wordpress?

Здравствуйте! У меня возникла проблема с настройкой постраничной навигации в WordPress. Я создал страницу, на которой отображается список постов с помощью функции get_posts(). Однако, на странице отображается слишком много записей и я хотел бы разделить их на страницы по 10 записей на каждой.

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


$args = array(
    'post_type' => 'post',
    'posts_per_page' => -1,
);

$posts = get_posts($args);

foreach ($posts as $post) {
    // Вывод информации о посте
}

Мне нужно изменить код таким образом, чтобы на странице отображалось только 10 постов, а также добавить навигацию для перехода по страницам. Как это можно сделать? Буду благодарна за помощь!

Ответы:

SemenZ35 02.03.2023 21:50
Вам следует использовать параметры 'posts_per_page' и 'paged' в функции get_posts() для ограничения количества постов на странице и добавления постраничной навигации.
variantaVeronika1981 02.03.2023 22:13
Вы можете использовать параметр 'posts_per_page' в функции get_posts(), чтобы ограничить количество постов на странице до 10. Также вы можете исследовать функции пагинации WordPress для добавления навигации между страницами.
NataliaB18 02.03.2023 22:31
Вам необходимо использовать параметр 'posts_per_page' в функции get_posts() и установить его значение равным 10, чтобы отображать только 10 постов на странице. Также вам понадобится добавить функционал постраничной навигации для перехода между страницами.
pa24on 02.03.2023 22:49
Чтобы реализовать постраничную навигацию и отображать только 10 постов на странице, тебе потребуется использовать пагинацию WordPress и изменить параметры запроса. Вот пример, как можно изменить твой код для достижения нужного результата:

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
    'post_type' => 'post',
    'posts_per_page' => 10,
    'paged' => $paged
);

$posts_query = new WP_Query( $args );

if ( $posts_query->have_posts() ) {
    while ( $posts_query->have_posts() ) {
        $posts_query->the_post();
        // Вывод информации о посте
    }

    // Вывод пагинации
    $big = 999999999; // нужно указать число, которое превышает общее количество страниц
    echo paginate_links( array(
        'base'    => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format'  => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total'   => $posts_query->max_num_pages
    ) );
}

wp_reset_postdata();
В этом коде мы используем функцию `WP_Query`, которая позволяет нам задать параметры запроса, включая количество постов на странице и номер текущей страницы. Мы также используем функцию `paginate_links` для вывода пагинации на странице. Надеюсь, это поможет тебе решить проблему с постраничной навигацией в WordPress. Если у тебя возникнут еще вопросы, не стесняйся задавать! Удачи!

Добавить ответ