WordPress enthusiast working at Automattic as a Happiness Engineer

Si estamos usando un loop personalizado con WP_Query y queremos paginar los resultados de la query con el plugin WP-PageNavi, en primer lugar, tendremos que tener el siguiente parámetro en nuestra query:

$nuestra_query = array(
    'paged'     => get_query_var('paged')
);


Este parámetro indica en qué número de página estamos. Si no lo ponemos cuando queramos avanzar de página siempre nos mostrará lo mismo porque el plugin asumirá que está en la primera.
Luego hay que llamar a la función de WP-PageNavi indicándole el objeto WP_Query que estamos usando:

    if (function_exists( 'wp_pagenavi' )) {
        wp_pagenavi( array( 'query' => $nuestra_query ) );
    }

A continuación os pongo un ejemplo completo:

    // Obtenemos todos los posts con 10 en cada página
    $args = array(
        'post_type'         => 'post',
        'posts_per_page'    => 10,
        'paged'             => get_query_var('paged')
    );

    $nuestra_query = new WP_Query( $args );

    if ( $nuestra_query->have_posts() ) {
        while ( $nuestra_query->have_posts() ) {
            // Mostramos lo que queramos de cada post
        }
    }

    if (function_exists( 'wp_pagenavi' )) {
        wp_pagenavi( array( 'query' => $nuestra_query ) );
    }

    wp_reset_postdata();
5/5 – (1 voto)

Tags

2 respuestas a «Paginar posts en un Loop Personalizado con WP-PageNavi»

  1. Avatar de Arkangel
    Arkangel

    Hola amigo de verdad esto me sirvio muchisimo de verdad te agradesco compartir este post MIL GRACIAS!!!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: