Eu estava procurando uma maneira simples de determinar se deveria ou não usar a posts_nav_link()
função e todas as soluções que encontrei on-line eram muito complexas ou não confiáveis. Por exemplo, muitas pessoas sugeriram o uso da $paged
variável global, mas descobri que essa variável retornava o mesmo valor para a primeira página, mesmo quando a primeira página era a única página!
Então, procurei no wp-includes/link-template.php
arquivo e descobri que a posts_nav_link()
função simplesmente gera o valor de retorno de outra função:
/**
* 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);
}
Usando esse conhecimento, podemos criar uma maneira simples e eficaz de determinar se precisamos adicionar links para navegar entre as páginas:
$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
// do not use posts_nav_link()
} else {
// use posts_nav_link()
}
Originalmente publicado no meu blog aqui .
get_query_var( 'paged' )
duas vezes é redundante. O segundo parâmetro opcional dessa função é o valor padrão. Então, você poderia simplificá-lo para:$paged = get_query_var( 'paged', 1 );