WordPress’te Yazıları Sayfalandırmak

Wordpress ile yazılarımızı çeşitli eklentiler aracılığıyla sayfalandırabiliyoruz. Wp PageNavi eklentisi bunlardan biri. Bu eklenti aracılığıyla anasayfa ve arşiv sayfalarında navigasyon oluşturabilliyoruz.

WordPress’te Yazıları Sayfalandırmak
WordPress’te Yazıları Sayfalandırmak

Bu da ziyaretçilerin sayfalar arasında dolaşmasını kolaylaştırıyor. Bildiğiniz gibi WordPress kendi içersinde henüz bu fonksiyonu barındırmıyor.

Ben burada bunun eklentisiz nasıl gerçekleştirebileceğimizi anlatacağım. Benim de bu blog da kullandığım metod bu… Öncellikle temamızdaki functions.php dosyasına aşağıdaki vereceğim kodları ekliyoruz.


function wp_pagenavi($before = '', $after = '', $prelabel = '', $nxtlabel = '', $pages_to_show = 7, $always_show = false) {

global $request, $posts_per_page, $wpdb, $paged;
if(empty($prelabel)) {
$prelabel  = '«';
}
if(empty($nxtlabel)) {
$nxtlabel = '»';
}
$half_pages_to_show = round($pages_to_show/2);
if (!is_single()) {
if(is_tag()) {
preg_match('#FROM\s(.*)\sGROUP BY#siU', $request, $matches);
} elseif (!is_category()) {
preg_match('#FROM\s(.*)\sORDER BY#siU', $request, $matches);
} else {
preg_match('#FROM\s(.*)\sGROUP BY#siU', $request, $matches);
}
$fromwhere = $matches[1];
$numposts = $wpdb->get_var("SELECT COUNT(DISTINCT ID) FROM $fromwhere");
$max_page = ceil($numposts /$posts_per_page);
if(empty($paged)) {
$paged = 1;
}
if($max_page > 1 || $always_show) {
echo " $before ";
if ($paged >= ($pages_to_show-1)) {
echo '<a href="'.get_pagenum_link().'" >  İlk Sayfa  </a> ... ';
}
previous_posts_link($prelabel);
for($i = $paged - $half_pages_to_show; $i  <= $paged + $half_pages_to_show; $i++) {
if ($i >= 1 && $i <= $max_page) {
if($i == $paged) {
echo ' <a href="'.get_pagenum_link($i).'" > ' .$i. '</a>';
} else {
echo ' <a href="'.get_pagenum_link($i).'" > ' .$i. '</a>';
}
}
}
next_posts_link($nxtlabel);
if (($paged+$half_pages_to_show) < ($max_page)) {
echo '... <a href="'.get_pagenum_link($max_page).'" >  Son Sayfa  </a> ';
}
echo " $after ";
}
}
}

kodu functions.php’ye ekledikten sonra temamızın index.php ve archive.php dosyalarına da;


<?php if (function_exists('wp_pagenavi')) { ?>
<div>
<?php wp_pagenavi(); ?>
</div>
<?php } ?>

kodunu ekliyoruz. Böylece işlem tamamlanmış oluyor.

Daha sonra da css aracılığıyla istediğimiz stilde sayfalandırma yapıyoruz.

Henüz Yorum Yok!