El otro dia tenia un bug en un tema, el paginador no funcionaba, ni el anterior y siguiente en la Home o Portada. Este caso es muy concreto y se puede dar cuando usas una pagina con template blog en la home.
Un cliente quería una pagina mansory en la home, mi tema lo contemplaba y lo pusimos, lo que no nos dimos cuenta era que la paginación estaba rota.
Resulta que dependiendo de la pagina en este caso pagina estatica, WP usa en su query page no paged.
Al hacer un print_r de la variable siempre venia a vacio.
Se podria haber solucionado con un $_GET[“paged”] que es la variable que viene por cabecera pero podría dar problemas con las rutas permanentes y es un poco guarro.
Este caso como digo solo me ha hecho falta usarlo para esta situación 😛 y al final encontré un trozo de código que me funciono.
Código Antiguo
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array('posts_per_page' => 12, 'paged' => $paged ); query_posts($args); ?>
Código Funcionando
<?php if( get_query_var( 'paged' ) ) $my_page = get_query_var( 'paged' ); else { if( get_query_var( 'page' ) ) $my_page = get_query_var( 'page' ); else $my_page = 1; set_query_var( 'paged', $my_page ); $paged = $my_page; } $args = array('posts_per_page' => 12, 'paged' => $paged); query_posts($args); ?>