Bu posts_nav_link()
işlevi kullanıp kullanmamayı ve çevrimiçi bulduğum tüm çözümleri çok karmaşık veya güvenilmez olup olmadığını belirlemenin basit bir yolunu arıyordum . Örneğin, birçok kişi $paged
global değişkeni kullanmayı önerdi , ancak bu değişkenin ilk sayfa için aynı değeri verdiğini, ilk sayfa tek sayfa olsa bile buldum!
Böylece wp-includes/link-template.php
dosyaya girdim ve posts_nav_link()
işlevin basitçe başka bir işlevin dönüş değerini verdiğini gördüm :
/**
* 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);
}
Bu bilgiyi kullanarak, sayfalar arasında gezinmek için bağlantılar eklememiz gerekip gerekmediğini belirlemek için basit ve etkili bir yol oluşturabiliriz:
$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
// do not use posts_nav_link()
} else {
// use posts_nav_link()
}
Aslen burada bloguma gönderildi .
get_query_var( 'paged' )
iki kez arama yapmak gereksiz. Bu işlevin isteğe bağlı ikinci parametresi varsayılan değerdir. Yani, basitleştirmek için:$paged = get_query_var( 'paged', 1 );