lostyazilim
tr.link

Wordpress facebook ve twitter tarzı sayfa alta çekildekçe yüklenen eski yazılar

14 Mesajlar 4.630 Okunma
acebozum
tr.link

FatihToprak FatihToprak www.fatihtoprak.com Kimlik Onayı
  • Üyelik 13.06.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad F** T**
  • Mesajlar 577
  • Beğeniler 65 / 67
  • Ticaret 0, (%0)



WordPress kod bankası yazılarıma gelen taleplerin doğrultusunda gene yakın geçmişte bir projemde kullandığım kaliteli bir hook ‘u sizler ile paylaşmak beni çok mutlu edecek.

Başlıkta ben her şeyi anlatmaya çalıştım ama kısaca özetlemem gerekirse, Facebook ve Twitter gibi sosyal medya ağlarında sayfadaki kaydırma çubuğunu çektiğinizde eski yazıları nasıl alırım mantığından yola çıktığımızda, WordPress’in sayfalama mimarisini kullanarak ve Jquery bilgimizi kullanarak bunu nasıl yaparız diye araştırdım.

Ve fantastik içerikleri yayımlamak için bir müşterim bu özelliğin havalı olduğunu ve kendi blogunda da uygulamamız gerektiğini söyleyince el mahkum yapmak gerekti. Hal böyle olunca çok ama çok havalı bir sonuç elde ettim ve burada da sizler ile paylaşmak istedim. Artık sizlerde bu havalı uygulamayı kullanarak daha şık çıktılar elde edebilirsiniz.

Lakin bu uygulamanın seo açısından pek de faydalı olmadığını belirtmek isterim, malum, normal sayfalama yapısında oluşan alt sayfalara bu uygulama ile veda etmek durumundasınız.

Adım adım makaleyi takip ederek, sizde artık sayfa indikçe yüklenen içeriklere sahip olabileceksiniz. Buyrun sonraki sayfaya geçelim.

1- Fonksiyonlarımızı ve Action’larımızı oluşturmak :
İlk olarak yapılacak işlem wp_register_script metodumuz ile jquery kütüphanemizin son sürümünü temamıza dahil ediyorum. Siz farklı eklentiler veya başka temalar kullanıyorsanız ve bu kütüphaneyi çağırıyorsanız bu adımı geçebilirsiniz.

Ben örnek uygulamada Twenty Ten temasını kullanıyorum …

Fonksiyon dosyamıza eklememiz gereken yapı;

add_action('wp_ajax_infinite_scroll', 'Ft_Poz_ScrollerPagenavi'); // Kullanıcı girişi yapılırsa
add_action('wp_ajax_nopriv_infinite_scroll', 'Ft_Poz_ScrollerPagenavi'); // Kullanıcı girişi yapılmazsa

function Ft_Poz_ScrollerPagenavi(){
$loopFile = $_POST['loop_file'];
$paged = $_POST['page_no'];
$posts_per_page = get_option('posts_per_page');

query_posts(array('paged' => $paged ));
get_template_part( $loopFile );
exit;
}

function Ft_Poz71_ScriptAdd() {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js');
wp_enqueue_script( 'jquery' );
}

add_action('wp_enqueue_scripts', 'Ft_Poz71_ScriptAdd');

Hemen ardından; hazırlamış olduğumuz register_script ve add_action’larımızın açıklamasını yapacak olursak, varsayılan action’ımız burada wp_ajax_ arkasından gelen ekler ie, jquery fonksiyonlarımıza verdiğimiz isimler siz bunları kendinize göre kişiselleştirebilirsiniz elbette.

Diğer sayfaya geçerek, header.php dosyamızda head tag’leri arasındaki jquery betiğimizi nasıl yazdık ona bakalım.

[B]2- Jquery fonksiyonlarımızı oluşturmak :[/B]
Head kapanış etiketinden hemen önce tanımlamamızı sayfa ve tekil yazı şablonları dışında her alanda geçerli olmak üzere şu şekilde hazırlıyoruz.





<script>
jQuery(document).ready(function($) {
var count = 2;
var total = max_num_pages; ?>;
$(window).scroll(function(){
if ($(window).scrollTop() == $(document).height() - $(window).height()){
if (count > total){
return false;
}else{
loadArticle(count);
}
count++;
}
});

function loadArticle(pageNumber){
$('a#PozFantPagMoreContent').show('fast');
$.ajax({
url: "/wp-admin/admin-ajax.php",
type:'POST',
data: "action=infinite_scroll&page_no="+ pageNumber + '&loop_file=loop',
success: function(html){
$('a#PozFantPagMoreContent').hide('1000');
$("#content").append(html);
}
});
return false;
}

});

</script>



Bu kısımda önemli olan yer #content adındaki css seçicimizin post loop ‘ının kapsadığı kısım olduğuna dikkat edilmesidir.

Yani ;

Loop kısmı

Sayfalama yapımız çalışabilmesi için bu şekilde kapsayan bir seçici yaratmalıyız. Varsa şayet hem Jquery kısmından hem de loop kısmından özelleştirilmiş seçiciyi ek olarak tanımlamanız lazım.

Devam edelim…

3- Bir kaç dokunuş daha
Fonksiyonlarımız ve sorgularımızı yazdık, şimdi görsel açıdan nasıl daha çekici hale getirebiliriz aşamasındayız. Bunun için kullanıcı scrool ile sayfayı alta indirdiğinde yazıların yüklendiğini gösteren bir loader ikonu ekleyeceğiz. Ben footer.php kısmında bunu şu şekilde ekledim ;

Yeni yazılar yükleniyor...
Ardından a değermizin CSS yapısını şu şekilde tanımlıyoruz :

a#PozFantPagMoreContent{position: fixed; z-index: 2; bottom: 15px; right: 10px; display:none;}
Artık daha şık bir sayfala mantığımız var ;) Scroll indikçe dökülen yazılar. Gayet Fantastik değil mi? ;)

Kaynak dosyaları indirmek için bu bağlantıyı kullanabilirsiniz.

Twenty Ten temasında değişiklik yaptığımdan yapı o temaya uygundur. Adımları takip ederek , kendiniz kendi temanıza uyarlayabilirsiniz.

İyi bloglamalar.

Yararlanılan kaynaklar :

@Eizil‘in teknikleri için teşekkürler.

Link : http://fatihtoprak.com/wordpress-icin-sayfa-scrool-asagi-cekildikce-yuklenen-eski-yazilari-almak-facebook-veya-twitter-tarzi-sayfalama-yapmak-ipucu-71.html/4

Happy coding.
mavice ErenKeskin Emreee

kişi bu mesajı beğendi.

wmaraci
reklam

Mertcan Mertcan Hayat kısa, kuşlar uçuyor Kullanıcı
  • Üyelik 05.02.2012
  • Yaş/Cinsiyet 29 / E
  • Meslek Yatırım
  • Konum Antalya
  • Ad Soyad M** K**
  • Mesajlar 5426
  • Beğeniler 39 / 1529
  • Ticaret 38, (%100)
Çok aramıştım bir aralar, lazım olmayıncada önüne geliyor insanın :)
Teşekkürler.
brk FatihToprak

kişi bu mesajı beğendi.

Tomurcuk derdinde olmayan ağaç, odundur.

Emreee Emreee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 19.10.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Bilgisayar
  • Konum
  • Ad Soyad ** **
  • Mesajlar 564
  • Beğeniler 160 / 115
  • Ticaret 0, (%0)
Güzel çalışma olmuş.
FatihToprak

kişi bu mesajı beğendi.

StyLe06 StyLe06 WM Aracı Kullanıcı
  • Üyelik 04.04.2012
  • Yaş/Cinsiyet - / E
  • Meslek Seo Uzmanı
  • Konum
  • Ad Soyad İ** Y**
  • Mesajlar 37
  • Beğeniler 2 / 5
  • Ticaret 1, (%100)
Çok iyi bir çalışma olmuş,tebrikler.
FatihToprak

kişi bu mesajı beğendi.

wmaraci
wmaraci

Gunceel Gunceel WM Aracı Kullanıcı
  • Üyelik 20.08.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad ** **
  • Mesajlar 889
  • Beğeniler 111 / 71
  • Ticaret 1, (%100)

Kaynak dosyaları indirmek için bu bağlantıyı kullanabilirsiniz.

Link eklenmemiş güncellenirse sevinirim, teşekkürler.
 

 

FatihToprak FatihToprak www.fatihtoprak.com Kimlik Onayı
  • Üyelik 13.06.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad F** T**
  • Mesajlar 577
  • Beğeniler 65 / 67
  • Ticaret 0, (%0)

Güncel adlı üyeden alıntı

Link eklenmemiş güncellenirse sevinirim, teşekkürler.


Link ekli idi gerçi kaynak kelimesi linkli idi. Gene belirttim. Yazının en altına ekledim.

Ayrıca diğer arkadaşlara da teşekkürler faydalı oldu ise ne mutlu.
Gunceel

kişi bu mesajı beğendi.

Gunceel Gunceel WM Aracı Kullanıcı
  • Üyelik 20.08.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad ** **
  • Mesajlar 889
  • Beğeniler 111 / 71
  • Ticaret 1, (%100)

Fatih Toprak adlı üyeden alıntı

Link ekli idi gerçi kaynak kelimesi linkli idi. Gene belirttim. Yazının en altına ekledim.

Ayrıca diğer arkadaşlara da teşekkürler faydalı oldu ise ne mutlu.


Ben kaynak linkinden değil dosyaların olduğu linkten bahsetmiştim. :D
 

 

FatihToprak FatihToprak www.fatihtoprak.com Kimlik Onayı
  • Üyelik 13.06.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad F** T**
  • Mesajlar 577
  • Beğeniler 65 / 67
  • Ticaret 0, (%0)

Güncel adlı üyeden alıntı

Ben kaynak linkinden değil dosyaların olduğu linkten bahsetmiştim. :D


Htaccess koruması olduğundan başka yerden ulaşmak sıkıntı yaratıyor :) o nedenle .
 

 

Jiber Jiber Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 30.08.2011
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 209
  • Beğeniler 13 / 32
  • Ticaret 0, (%0)

Fatih Toprak adlı üyeden alıntı

Htaccess koruması olduğundan başka yerden ulaşmak sıkıntı yaratıyor :) o nedenle .


http://cdn.pozitifmedia.com/fatihtoprak_com/Dosya/PozFantastic.zip adresinden indirebiliriz değil mi?

Bunu da konuya kolaylıkla ekleyebilirsiniz.

Saygılar.
FatihToprak

kişi bu mesajı beğendi.

AhmetK AhmetK WM Aracı Kullanıcı
  • Üyelik 06.07.2011
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum İstanbul Anadolu
  • Ad Soyad A** K**
  • Mesajlar 2503
  • Beğeniler 64 / 327
  • Ticaret 23, (%100)
Çok yaratıcı!
Bir demosu olsaydı keşke :rolleyes:
 

 

wmaraci
wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al