WordPress Eklentisiz Sayfalama Yapımı

WordPress altyapısı kullanan herkesin bileceği üzere; ne kadar çok eklenti o kadar çok CPU tüketimi demektir. CPU tüketimi hosting firması ile site sahibi arasında problemler yaratabildiği için, son zamanlarda eklentilerin birçoğu tartışılır hale gelmeye başladı. WordPress kullanıcıları, eklenti ile sağladıkları birçok özelliği, eklentisiz bir şekilde sunabilmek adına araştırmaya koyuldular. Buna en bariz örnek de; hiç şüphesiz sayfalama özelliğidir.

Öncelikle şunu söylemeliyim ki; “küçücük pagenavi ne kadar CPU yiyebilir ki?” mantığı ile bakmayın olaya. Bu küçük gibi gözüken şeylerin birike birike bir dev haline geliyor. Sonrasında bazı şeyleri toparlamak çok daha zor olabiliyor.

Söylediklerimi dikkate alacağınızı düşünerek, eklenti kullanmadan sayfalama özelliği nasıl yapılır anlatmaya başlıyorum.

WordPress yönetici panelinizden “Görünüm>Düzenleyici” bölümüne gidiniz ve “function.php” dosyasını açınız. Biraz daha sakinleşip, çayınızı yudumlayın. Hemen ardından aşağıdaki kodları dosyanın uygun bir yerine ekleyin.

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 "
"; if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "ilk"; if($paged > 1 && $showitems < $pages) echo "«"; for ($i=1; $i <= $pages; $i++) { if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) { echo ($paged == $i)? "".$i."":"".$i.""; } } if ($paged < $pages && $showitems < $pages) echo "»"; if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "son"; echo "
"; } }

Ekleyip kaydettikten sonra temanızın ‘style.css’ dosyasını açın ve aşağıdaki kodları ekleyin.

.wp-pagenavi {clear:both;}
.wp-pagenavi a, .wp-pagenavi span {text-decoration:none;border:1px solid #BFBFBF;padding:3px 5px;margin:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;font-size:13px;-webkit-box-shadow:0 1px 4px #ccc;-moz-box-shadow:0 1px 4px #ccc;box-shadow: 0 1px 4px #ccc;}
.wp-pagenavi a:hover {background:#2c2c2c;color:#FFF;}
.wp-pagenavi span.current {color:#FFF;font-weight:bold;background:#2c2c2c;}

Bu işlemi de kaydettikten sonra sayfalama özelliğiniz hazır hale gelmiş oluyor. Yapmamız gereken tek bir şey kalıyor; o da, görüneceği yeri belirlemek. Bunu sağlamak için de; tasarımınızın “index.php” dosyasında uygun bir yere aşağıdaki kodu eklemeniz yeterlidir.

<?php sayfalama(); ?>

İşte hepsi bu kadar. WordPress’le kalın! ♥

  2 Yorum

  1. Barış Ünver   •  

    Daha kısası, sistemi daha az yoranı, WordPress çekirdek fonksiyonlarından biri olan paginate_links() fonksiyonunu kullananı var:


    <?php

    function sayfalama() {
    global $wp_query;
    $big = 999999999;
    $sayfalama = paginate_links( array(
    'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
    'current' => max( 1, get_query_var( 'paged' ) ),
    'total' => $wp_query->max_num_pages
    ) );
    return '' . $sayfalama . '';
    }

    ?>

    • Burak   •     Yazar

      Teşekkürler ağabey, içeriğe olan katkın için. Senden öğrenecek çok şeyimiz var.

Bir Cevap Yazın

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