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)."'>«</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>"; } }
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. :)
Gerçekten yayınladığınız bilgiler güzel , vakit buldukça yazılarınızı takip ediyorum. Ayrıca tsitenizin tasarımınıda daha görsel ve güzel bir tasarım ile değiştirmeniz şahsi fikrimce daha iyi olacaktır.
Sağol abi :)
Wordpresin en güzel yanlarından biri. Eklentilere aslında ihtiyacımız yok. Kodlama bilmek yeterli.
WordPress’in en güzel yanlarından biri, aradığın şeyi bulacak çok fazla kaynağın oluyor.
Bir ekran alıntısı falan olsaydı keşke :)
Şuan kullandığım sayfalama bu şekilde. :)
kardeşim anlatım için çok teşekkür ederim, şuan sayende yaptım ve kullanıyorum inşallah
Şuanda eklentiyi kaldırdım sizn dediğiniz şekilde yaptım teşekkürler elinize sağlık
Peki, eklenti kullanmadan yorumlara nasıl sayfalama özelliği ekleyebiliriz? :)
Çok güzel bir soru. :) En kısa sürede bunun içinde bir yazı yazayım.
O zaman, takipteyiz İsmail bey.. :) Eklenti arayışına girmiştim şöyle sadece işini yapan sade bir eklenti bulamadım. Senin kodlarını bekleyelim bari.. :)
s.a.
bende functions.php yok nereye ekliyecez
functions.php dosyası oluşturup ekleyebilirsiniz.
Yalnız şöyle bir şey var. Sayfa içersinde gezdiğim zaman /page/2 yazıyor ama sayfanın daha eski yazdığım konular gözükmüyor. 1’nci sayfa olduğu gibi kalıyor :)
O sorun bu yüzden değil yanlış bilmiyorsam. İnternette çözümü vardı da nerde olduğunu hatırlayamadım. :)
teşekkürler dostum işime yaradı :)
Benim temada Never / Older diye sayfalama vardı. Bununla değiştirdim fevkalâde oldu. Teşekkürler.
Emre demişki ;
Yalnız şöyle bir şey var. Sayfa içersinde gezdiğim zaman /page/2 yazıyor ama sayfanın daha eski yazdığım konular gözükmüyor. 1′nci sayfa olduğu gibi kalıyor :)
Bu sorunun çözümü wp query kısmınızda kısıtlama yaptığınızdan dolayı alıyorsunuz bunu düzenlemek için wp nin query bölümünü düzenlemeniz gerekli . Örnek vermek gerekirse ;
WP_Query(“showposts=16&offset=0″)
Diye bir sorgunuz var ise bunu aşşağıdaki gibi değiştirmeniz gereklidir.
WP_Query($query_string .”showposts=16&offset=0″)
Yani sadece $query_string . bunu eklemeniz lazım sorunuz düzelir.
Aynı sorunu bu şekilde çözdüm. Örnek site: http://www.turkudinle.info
Teşekkür ederim hocam sorunun çözümünü paylaştığınız için.
Rica ederim bilgi paylaşıldıkça daha güzeldir.
kodlar için teşekkürler, blogram.org sitemde kullandım ama şöyle bir sıkıntı var siteme 32 sayfa var bu kodlar 36 sayfa gösteriyor. tıklayınca 404 sayfası çıkıyor.
Ayarlar-Okuma kısmından En fazla gösterilecek blog sayfası adedini değiştirip tekrar kontrol eder misiniz?
Teşekkürler ama düzelmedi, sayfa adedi 6 yazıyor 10 yapınca da değişmiyor. Sanırım temada bi eksiklik var.
Normalde çalışması lazım dediğiniz gibi bir eksiklik olabilir.
https://usluer.net/kategori/dinlediklerim/ bu linkdeki gibi bi kategori şablonu hazırlıyorum fakat sayfalama çalışmıyor. Sayfalama olarak paylaşdığınız bu kodları kullanıyorum. ekranda sayfa sayı çıkıyor. sayfalara tıklanınca sayfa bulunamıyor yazıyor.
Muhtemelen temanızla alakalı bir sorun. Temanızın ayar sayfasında anasayfada kaç yazı gösterilsin gibi bir ibare varsa oradaki değer ile WordPress’in okuma ayarları kısmındaki en fazla gösterilecek blog sayfası adedi değerinin aynı olup olmadığına bir bakar mısınız?
(hayır öyle bir şey yok) Ayarlarda yazı sayı 8. ama ben WP_Query(‘showposts=20&cat=2’) diye çıkmasını isiyorum. aynen https://usluer.net/kategori/dinlediklerim/ burdakı gibi.
Dediğim gibi temadan kaynaklı bir problemdir fakat tam olarak sebebini bilmiyorum.
Rica etsem dinlediklerim bölmünün şablon kodların bana yollarmısın?
Malesef paylaşamam.
Benim sayfalamayla ilgili başka bir sıkıntım var acaba yardımcı olabilirmisiniz
Allah razı olsun kardeşim. Bir eklenti belasından daha kurtulmuş oldum sayenizde. sorunsuz şekilde çalıştı kodlar. tekrar teşekkürler.
İsmail abi ben kendi temamı yaptım ve senin sayfalamanı koydum. Ama 2. sayfaya basınca linkte /page/2 çıkıyor linkte.Ama sayfa değişmiyor.
Üstteki yorumlarda bu sorunun çözümü paylaşılmış.
merhaba ben sayfalamayı numara ile yaptım fakat hem numara gözükmekte hemde wordpress in eski yazılar yeni yazılar linki görünüyor. wordpress in linklerini nasıl kaldırabilirim
Kesin bir bilgim olmadığı için burada vereceğim cevap işinize yaramayabilir. Google’da wordpress önceki sonraki yazı kaldırma şeklinde arama yaparak sorununuzu çözebilirsiniz.