Estaba buscando una manera simple de determinar si usar o no la posts_nav_link()
función y todas las soluciones que encontré en línea eran demasiado complejas o poco confiables. Por ejemplo, muchas personas sugirieron usar la $paged
variable global, pero descubrí que esta variable devolvió el mismo valor para la primera página, ¡incluso cuando la primera página era la única página!
Entonces, busqué en el wp-includes/link-template.php
archivo y descubrí que la posts_nav_link()
función simplemente genera el valor de retorno de otra función:
/**
* Display post pages link navigation for previous and next pages.
*
* @since 0.71
*
* @param string $sep Optional. Separator for posts navigation links.
* @param string $prelabel Optional. Label for previous pages.
* @param string $nxtlabel Optional Label for next pages.
*/
function posts_nav_link( $sep = '', $prelabel = '', $nxtlabel = '' ) {
$args = array_filter( compact('sep', 'prelabel', 'nxtlabel') );
echo get_posts_nav_link($args);
}
Con este conocimiento, podemos crear una forma simple y efectiva de determinar si necesitamos o no agregar enlaces para navegar entre las páginas:
$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
// do not use posts_nav_link()
} else {
// use posts_nav_link()
}
Publicado originalmente en mi blog aquí .
get_query_var( 'paged' )
dos veces es redundante. El segundo parámetro opcional de esa función es el valor predeterminado. Entonces, podría simplificarlo a:$paged = get_query_var( 'paged', 1 );