WordPress’te eklenti kullanmadan sayfalama nasıl yapılır?

wordpress

Sürekli güncelleniyor olmasına rağmen WordPress’te hala daha numaralı sayfalama özelliğinin bulunmaması cidden büyük eksiklik. Sadece “Önceki yazılar” ve “Sonraki yazılar” şeklinde iki butonun kullanıldığı WordPress’te gerçek bir sayfalama özelliğini açmak istiyorsanız, eklenti dizininden bunun için geliştirilen yazılımları kurmanız gerekiyor. Ancak bu eklentiler hem CPU’yu yoruyor, hem de gereksiz yere CSS dosyasını yükleyerek sitenin geç açılmasına sebep olabiliyor.

Mesela WP-Pagenavi eklentisini ele alalım. Bu eklentiyi yükleyerek veritabanında ekstra birkaç satır daha eklemektense, biraz daha karmaşık olsa da sunucuyu yormayacak bir şekilde sayfalama işlemini yine gerçekleştirebilirsiniz. Hazırsanız bunu nasıl yapabileceğinize geçelim.

Öncelikle aşağıdaki kodları temanızın functions.php dosyasına eklemeniz gerekiyor.

function pagination($pages = ”, $range = 4)
{
$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=\”pagination\”><span>Page “.$paged.” of “.$pages.”</span>”;
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo “<a href='”.get_pagenum_link(1).”‘>&laquo; First</a>”;
if($paged > 1 && $showitems < $pages) echo “<a href='”.get_pagenum_link($paged – 1).”‘>&lsaquo; Previous</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).”\”>Next &rsaquo;</a>”;
if ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) echo “<a href='”.get_pagenum_link($pages).”‘>Last &raquo;</a>”;
echo “</div>\n”;
}
}

Daha sonra aşağıdaki kodları temanızın CSS dosyasına dahil etmelisiniz. Bu genelde style.css dosyasıdır.

.pagination {
clear:both;
padding:20px 0;
position:relative;
font-size:11px;
line-height:13px;
}

.pagination span, .pagination a {
display:block;
float:left;
margin: 2px 2px 2px 0;
padding:6px 9px 5px 9px;
text-decoration:none;
width:auto;
color:#fff;
background: #555;
}

.pagination a:hover{
color:#fff;
background: #3279BB;
}

.pagination .current{
padding:6px 9px 5px 9px;
background: #3279BB;
color:#fff;
}

Son olarak ise aşağıdaki kodu, temanızın index.php dosyasında bulunan “Eski sayfalar” ve “Yeni sayfalar” yazan bölümle değiştirmelisiniz.

<?php if (function_exists(“pagination”)) {
pagination($additional_loop->max_num_pages);
} ?>

Hepsi bu kadar!

 

Yok ben illa eklenti ile yapacağım diyorsanız da sizi şuraya alalım :

https://aykutozdemir.com.tr/wordpress/wp-pagenavi-ile-sayfalama.html

Kolay Menü : aykutozdemir.com.tr | Wordpress | İnşaat | Bilgisayar | Yazılım | Ev Elektroniği | Girişim | İnternet | Mobil | Oyun | Seo | Sosyal Medya | Teknoloji | Sanal Gerçeklik | Webmaster | Wordpress | Wordpress Eklentileri | Wordpress İpuçları | Wordpress Temaları


Sponsorlar: instagram takipçi satın al | best hair clinic istanbul

Buraya Reklam Verebilirsiniz


Apa Giz Plaza, Levent, Beşiktaş /İstanbul

Mobil sürümden çık