WordPress Eklentisiz Sayfalama Yapımı (Eklentisiz Pagenavi)

Ecancan 26 Şub 2015 Wordpress 1.106  0

WordPress üzerinde bir çok eklenti kullanmaktayız ve genel olarak kullandığımız bir çok eklenti mevcuttur bu eklenti sayısının üzerinede ek olarak kendi yüklediğimiz eklentiler sitemizi yavaşlatmaktadır. Bu genel olarak kullanılan eklentilerden en başlıca olanı wp-peganavi eklentisidir. Ne kadar az eklenti kullanırsak wordpress ile kurulmuş sitemizi bir o kadar hızlı olarak yayında tutabiliriz. WordPress sisteminde dahil olan bir kaç fonksiyon ile standart bir sayfalama işlemi yapılabilmektedir bunlar bu fonksiyonlar

<?php next_posts_link('Önceki Sayfa »', 0); ?> | <?php previous_posts_link('Sonraki Sayfa »', 0); ?>

fonksiyonlarıdır. Bu fonksiyonları kullanarak iki ayrı buton ile önceki ve sonraki sayfalara giden link yapsını oluşturabiliriz ancak bu sistem kullanıcılar tarafından kullanışsız ve zor bir sistem olacaktır. Bu sistemi biraz daha genişletmek için aşağıdaki kodları gerekli yerlere eklemeniz sonucunda istenilen dinamik yapıya ulaşacaksınız.

Functions.php dosyasına eklenecek kodlar
function sayfalama($pages = '', $range = 3)
{
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == '')
{
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages)
{
$pages = 1;
}
}
if(1 != $pages)
{
echo "<div class='wp-pagenavi'>";
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>İlk</a>";
if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>«</a>";
for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
}
}
if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>»</a>";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>Son</a>";
echo "</div>";
}
}

Yukarıdaki kodu ilgili sayfaya ekledikten sonra bu fonksiyonu istediğimiz yerde çalıştırmak için aşağıdaki php kod öbeğini kullanmanız yeterli olacaktır.

<?php sayfalama(); ?>

Bu işlemden sonra artık eklentisiz bir şekilde ana sayfanızdaki son yazılarınızı sayfalama işlemini gerçekleştirmiş olacaksınız. Anak birde buna biraz css düzenlemeler ekleyerek estetik bir görünüm sağlayalım.

.wp-pagenavi .extend{
display: none;
}
.wp-pagenavi .pages{
display: none;
}
.wp-pagenavi span.current{border: 1px solid #000;
color: #000;
-moz-border-radius:2px;
-webkit-border-radius:2px;
border-radius:2px;
-moz-box-shadow: inset 0 0 1px #fff;
-ms-box-shadow: inset 0 0 1px #fff;
-webkit-box-shadow: inset 0 0 1px #fff;
box-shadow: inset 0 0 1px white;
background: #fff; /* For IE and older browsers */
background-image: -moz-linear-gradient(top,#fff 0,#fff 100%);
background-image: -ms-linear-gradient(top,#fff 0,#fff 100%);
background-image: -o-linear-gradient(top,#fff 0,#fff 100%);
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#FAFAFA),color-stop(100%,#fff));
background-image: -webkit-linear-gradient(top,#fff 0,#fff 100%);
background-image: linear-gradient(to bottom,#fff 0,#fff 100%);
display: inline-block;
line-height: 2.48em;
height: 2.4em;
text-decoration: none;
margin: 0 .3em 12px;
padding: 0 .85em;
font-size: 12px;
text-shadow: 0 1px 0 #fff;}

.wp-pagenavi a, .wp-pagenavi a:link,.wp-pagenavi a:visited {
border: 1px solid #CCC;
color: #666;
-moz-border-radius:2px;
-webkit-border-radius:2px;
border-radius:2px;
-moz-box-shadow: inset 0 0 1px #fff;
-ms-box-shadow: inset 0 0 1px #fff;
-webkit-box-shadow: inset 0 0 1px #fff;
box-shadow: inset 0 0 1px white;
background: #fff; /* For IE and older browsers */
background-image: -moz-linear-gradient(top,#fff 0,#fff 100%);
background-image: -ms-linear-gradient(top,#fff 0,#fff 100%);
background-image: -o-linear-gradient(top,#fff 0,#fff 100%);
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#FAFAFA),color-stop(100%,#fff));
background-image: -webkit-linear-gradient(top,#fff 0,#fff 100%);
background-image: linear-gradient(to bottom,#fff 0,#fff 100%);
display: inline-block;
line-height: 2.48em;
height: 2.4em;
text-decoration: none;
margin: 0 .3em 12px;
padding: 0 .85em;
font-size: 12px;
text-shadow: 0 1px 0 #fff;
}

.wp-pagenavi a:hover{
border: 1px solid #385ae0 !important;
-moz-box-shadow: 0 0 3px rgba(0,0,0,.25);
-ms-box-shadow: 0 0 3px rgba(0,0,0,.25);
-webkit-box-shadow: 0 0 3px rgba(0,0,0,.25);
box-shadow: 0 0 3px rgba(0,0,0,.25);
}

Bu eklemeyide yaptıktan sonra artık tasarım yönünden de gerekli geliştirmeyi de yapmış durumdayız ve tasarım olarak resimdeki gibi olmasıwordpress-pagenavi gerekmektedir.

Makalemin sonuna kadar okuduğunuz için teşekkür eder ve konu altına yorum atarak destek verirseniz sevinrim. Soru ve sorunlarınız için konu altına yorum bırakabilir yada iletişim sayfasından bana mail gönderebilirsiniz. Bir başka konuda görüşmek üzere.

 

Ahmet CAN {Ecancan}

Kendi çapında bir şeyler yapmaya çalışan üniversite öğrencisi :)
Flexible WordPress Portal Teması
Hızlı ve Güvenli WordPress Nasıl Olur ?
WordPresste Kullanılmayan Resimleri Silmek
Optima Renkli WordPress Blog Teması – Responsive

“WordPress Eklentisiz Sayfalama Yapımı (Eklentisiz Pagenavi)” üzerine 1 yorum

  1. can dedi ki:

    çok teşekkür ederim paylaşım çok güzel 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir