La paginación con Custom Post Types no funciona: SOLUCIONADO!



Publicado el 15 - Feb - 2023

custom post types, paginación | 0 comentarios    |  541 Visitas


Normalmente la paginación no funciona bien con nuestra página donde mostramos nuestros CPT a modo de como lo hacemos en la plantilla index.php para los posts normales. Tenemos dos soluciones para ello.


La primera consiste en no usar WP_Query sino get_posts(). Esta función elimina la $wp_query, generando una nueva consulta con los argumentos que le pasemos como parámetro y generando una nueva $wp_query.


La segunda es usar la función paginate_links() en lugar de the_posts_pagination() con los siguientes argumentos:


// Paginación
$big = 9999999999; // se necesita un número de página salido de madre para que recalcule todo
echo paginate_links( array(
    'prev_text' => __( '« Previous' ),
    'next_text' => __( 'Next »' ),
    'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $query->max_num_pages,  
    )
);

Donde $query es la instancia de la consulta de la clase WP_Query.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


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