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. Los campos obligatorios están marcados con *