La paginación con Custom Post Types no funciona: SOLUCIONADO!
Publicado el 15 - Feb - 2023
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