Paginación rota en WordPress

Una de los aspectos de la programación para WP, que nunca me resulta a la primera, es la paginación.

Puede haber varias causas por la que la paginación no funcione, pero si ya has descartado todos los posibles errores y parece inexplicable, fíjate en si estas usando query_posts para montar el loop. Si es así lo más problable es que éste sea el causante del fallo.

Posible solución: prueba a usar wp_query o bien, si estas programando el loop para el index.php o para un category.php, que liste posts estandar, puedes añadir el siguiente código en functions.php, que modifica la query por defecto de wordpress añadiéndole la paginación que deseemos:

[code]
function my_post_queries( $query ) {
// do not alter the query on wp-admin pages and only alter it if it’s the main query
if (!is_admin() && $query->is_main_query()){

// alter the query for the home and category pages

if(is_home()){
$query->set(‘posts_per_page’, 3);
}

if(is_category()){
$query->set(‘posts_per_page’, 3);
}

}
}
add_action( ‘pre_get_posts’, ‘my_post_queries’ );
[/code]

Con esto ya podemos eliminar de nuestro código cualquier query_posts o wp_query, solamente tenemos que sustituir el «3» por la cantidad de posts por página que necesitemos.

Dejar un comentario

Tu dirección de correo electrónico no será publicada.