Eklenti Kullanmadan Sayfalama Yapın

Merhaba arkadaşlar. Sahur vakti Eren‘in Gtalk’tan sorduğu bir soru sonrası aklıma gelen eklenti kullanmadan sayfalama yöntemini sizlerle paylaşmak istedim. Daha önce burada söylemiştim, ne kadar az eklenti o kadar az risk. O yüzden elinizden geldiği kadar az eklenti kullanmaya çalışın. Şimdi anlatacağım yöntem ile eğer sayfalama eklentilerinden herhangibirini kullanıyorsanız (WP-PageNavi gibi) artık kullanmanıza gerek kalmayacak. Hemen anlatıma geçiyorum.

functions.php dosyasını açın ve aşağıdaki kodu bulun.

<?php

Yukarıdaki kodun hemen altına aşağıdaki kodları 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 "<div class='wp-pagenavi'>";
		echo "<span>".$paged."/".$pages."</span>";
        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)."'>&laquo;</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)."'>&raquo;</a>";
        if ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>Son</a>";
        echo "</div>";
    }
}

Daha sonra style.css dosyasına 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;}

Yukarıdaki style kodlarını kendi temanıza göre değiştirebilirsiniz.

Şimdi sayfalama yapılan numaraların nerede çıkmasını istiyorsanız aşağıdaki kodu oraya ekleyin.

<?php sayfalama(); ?>

Hepsi bu kadar. :)

Bana kahve ısmarlamak ister misin?

Bunları da okuyabilirsin
Yazı hakkındaki yorumun nedir?

36 Yorum
  1. Omeros
    1 Ağustos 2012 - 02:55
    Cevapla
  2. Emre PİRİNÇCİ
    1 Ağustos 2012 - 12:35
    Cevapla
  3. Mehmet
    1 Ağustos 2012 - 14:34
    Cevapla
  4. Yusuf
    2 Ağustos 2012 - 15:35
    Cevapla
  5. kralizasyon
    2 Ağustos 2012 - 17:38
    Cevapla
    • Usluer
      2 Ağustos 2012 - 18:01
      Cevapla
  6. Ubeyid Öz
    6 Ağustos 2012 - 11:10
    Cevapla
  7. halil
    11 Ağustos 2012 - 23:58
    Cevapla
  8. Melek
    17 Eylül 2012 - 02:31
    Cevapla
    • Usluer
      17 Eylül 2012 - 09:13
      Cevapla
      • Melek
        17 Eylül 2012 - 14:02
        Cevapla
  9. selatinabi
    28 Eylül 2012 - 22:04
    Cevapla
    • Usluer
      28 Eylül 2012 - 22:21
      Cevapla
  10. Emre
    22 Ekim 2012 - 17:34
    Cevapla
    • Usluer
      22 Ekim 2012 - 18:06
      Cevapla
  11. ali
    31 Ekim 2012 - 18:45
    Cevapla
  12. Cengiz
    23 Aralık 2012 - 21:25
    Cevapla
  13. Aşkın
    1 Mayıs 2013 - 10:27
    Cevapla
    • Usluer
      1 Mayıs 2013 - 23:28
      Cevapla
  14. Aşkın
    2 Mayıs 2013 - 16:06
    Cevapla
  15. Hakan
    9 Mayıs 2013 - 03:52
    Cevapla
    • Usluer
      9 Mayıs 2013 - 11:52
      Cevapla
      • hakan
        9 Mayıs 2013 - 14:58
        Cevapla
        • Usluer
          9 Mayıs 2013 - 15:06
  16. Qalib Abbasov
    13 Temmuz 2013 - 15:47
    Cevapla
    • Usluer
      13 Temmuz 2013 - 16:07
      Cevapla
  17. Qalib Abbasov
    13 Temmuz 2013 - 16:14
    Cevapla
    • Usluer
      13 Temmuz 2013 - 16:37
      Cevapla
      • Qalib Abbasov
        13 Temmuz 2013 - 16:52
        Cevapla
        • Usluer
          13 Temmuz 2013 - 18:02
  18. Yusuf
    28 Mart 2014 - 21:19
    Cevapla
  19. Sertan
    20 Aralık 2014 - 13:43
    Cevapla
  20. Mehmet
    8 Temmuz 2015 - 19:50
    Cevapla
    • Usluer
      9 Temmuz 2015 - 15:17
      Cevapla
  21. gokhan
    15 Ocak 2017 - 18:06
    Cevapla
    • Usluer
      15 Ocak 2017 - 19:32
      Cevapla