- Guzel Pro Magazine tema türkçe (14044)
- Wp - Max Tema Türkçe ( Magazine Teması ) (12565)
- İzlenese ve vidivodo açıldı :) (9826)
- Uzaktan eğitim nedir ? Yazmakla hatamı yapılır ? (9245)
- Türkçe karakter sorunu ( ascii kodları , meta tagları , karakter kümeleri .. ) (7898)
- Wp comfy Teması - Bakmadan Geçmeyin (7884)
- Adana Seyhan Belediyesi Öğrenim Bursu Hakkında (6433)
- Wordpress Insider Tema türkçe (6249)
- Css menüler, web2.0 örnekleri, logo oluşturucu... derleme linkler (5683)
- css te renkler ve uzunluk değerleri (5199)
query_posts sayfalama hatası
Daha önce buradaki yazımda query_posts kullanımını anlatmıştım. Bu fonksiyon anasayfada gösterdiğimiz yazılarda, istediğimiz kategorinin yazılarını çıkarma yada sadece o kategoriye ait yazıları göstermeye yarıyordu. Fakat bu fonksiyon kullanıldığında bir sorun ortaya çıktığını gördüm. Sayfalama dediğimiz pagenavi eklentisi çalışmıyordu. Aslında çalışmayan eklenti değil döngüdür. yazıların çıktığı döngü içerisi hep anasayfayı gösteriyordu.
Benim yapmak istediğim anasayfada iki döngü oluşacak. Birisinde son yazılar gösterilecek ama “wp tema cümbüşü” isimli kategorideki yazılar burada gösterilsin istemiyorum.
İkincisinde de sadece “wp tema cümbüşü” kategorisindekiler görünsün istiyorum. Bunun için bu fonksiyonu kullandım ama dediğim gibi sayfalama hatası oluştu. İnternette de bir çok kişi bunu sormuş , bende bir yöntem geliştirdim onu anlatayım.
get_the_category() fonksiyonu bir kategorinin adını içinde barındırır. Öncelikle aşağıdaki kodlarla bu fonksiyondan kategori adını çekelim.
<?php $category = get_the_category();
$cat_name = $category[0]->cat_name; ?>
burada $category[0]bize kategorinin adını verir ve bu adı $cat_name isimli değişkene yazar. Bu ismi döngü içerisinde kullanabiliriz. Eğer “wp tema cümbüşü” ise kategori adı , o zaman o kategoriyi atla ve diğer kategorideki yazıları basmaya devam et diyeceğiz.
öncelikle yazılarımızın çıktığı döngü şudur;
<?php while (have_posts()) :the_post(); ?> – Burası döngünün başı
<div id=”post-<?php the_ID(); ?>”></div>
<div>
<h3><a href=”<?php the_permalink(); ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
</div>
<?php endwhile; ?> – burası döngünün sonu
bu döngüye aşağıdaki gibi kodları yerleştiriyoruz.
<?php while (have_posts()) :the_post(); ?> – Burası döngünün başı
<?php $category = get_the_category();
$cat_name = $category[0]->cat_name; ?>
<?php if ( $cat_name != ‘wp tema cümbüşü’): ?>
<div id=”post-<?php the_ID(); ?>”></div>
<div>
<h3><a href=”<?php the_permalink(); ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
</div>
<?php endif; ?>
<?php endwhile; ?> – burası döngünün sonu
yeşil ile gösterdiğim kodları ekleyince artık “wp tema cümbüşü” kategorisindeki yazılar gösterilmeyecektir.
Şimdi ikinci aşamaya yani sadece “wp tema cümbüşü” kategorisindeki yazıları göstermeye geldi. Bunun için sadece döngideki if ifadesinde != yerine == diyeceğim. Yani eğer kategori adı “wp tema cümbüşü” ise yazıları bas. o zaman ikinci döngümüz aşağıdaki gibi olacaktır.
<?php while (have_posts()) :the_post(); ?> – Burası döngünün başı
<?php $category = get_the_category();
$cat_name = $category[0]->cat_name; ?>
<?php if ( $cat_name == ‘wp tema cümbüşü’): ?>
<div id=”post-<?php the_ID(); ?>”></div>
<div>
<h3><a href=”<?php the_permalink(); ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
</div>
<?php endif; ?>
<?php endwhile; ?> – burası döngünün sonu
Böylelikle bir sayfada iki döngü ve bu döngülerde istediğimiz kategorinin yazılarını çıkarabileceğiz.
2 KonuşmaBakalım Kim Ne Demiş?
1
Bende aynı sorunla karşılaşmıştım ve araştırmalarım sonucu daha doğru bir çözüm buldum (Burada). Zira sizin önerdiğiniz yöntem kayıt sayısı arttığında permormans sorununa yol açabilir
.
$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
query_posts(“cat=123&paged=$paged”);
Anlaşılacağı üzere sorun sorguda sayfa numarasının gönderilmemesinden kaynaklanıyormuş.
Malesef bu gibi konularda geliştiriciler için çok az türkçe kaynak var. Bu açıdan içeriğinizin hoşuma gittiğini belirtmeliyim. Başarılar.
2
16 Ağustos 2009
Evet ne yazıkki türkçe içerik bu konuda az. Ama zaman geçtikçe bu içeriklerle zengin bir kaynak sahibi oluruz umarım.
~Sadece Düşünme Sende Konuş~
wordpress Kategorisindeki Diğer Yazılar
Yazılar Emailine Gelsin
Nerde Ne Var
Kim Ne Demiş ?
- WordPress Insider Tema türkçe için DoqaN
- WordPress Insider Tema türkçe için DoqaN
- Uzaktan eğitim nedir ? Yazmakla hatamı yapılır ? için emre
- WordPress Insider Tema türkçe için DoqaN
- Wp comfy Teması – Bakmadan Geçmeyin için film izle
- Samsung M3510 için bayram
- Samsung M3510 için bayram
- Uzaktan eğitim nedir ? Yazmakla hatamı yapılır ? için zozann
- Wp – Max Tema Türkçe ( Magazine Teması ) için ironman
- Türkçe karakter sorunu ( ascii kodları , meta tagları , karakter kümeleri .. ) için Mert
Site İstatistik
- 204 adet yazı var.
- 2,045 adet yorum var.
- 9 Kişi şu anda çevrimiçi
- 127 aynı anda maksimum çevrimiçi kişi
- 190968 Toplam ziyaretçi

16 Ağustos 2009