WordPress Fonksiyonu – query_posts

Faydalı WordPress fonksiyonlarıyla yazılarımıza devam edelim. Hatırlatmak gerekirse bundan önce bahsettiğim fonksiyon bloginfo fonksiyonuydu. Bu yazımda ise günlüğümüzde görütülenecek yazıları kontrol etmemize yarayan query_posts fonksiyonunu anlatacağım.

query_posts Fonksiyonunu Tanıyalım

Bu fonksiyon sayesinde günlüğümüzde görüntülenecek yazıları kontrol edebiliriz. Genel olarak şu amaçlarla kullanılabilir;

  • Anasayfada istediğiniz tek bir yazıyı,
  • Belirli bir zaman aralığındaki yazıları,
  • Anasayfada sadece son yazıyı gösterebilir,
  • Yazıların görüntülenme sırasını ve kriterini değiştirebilir,
  • Sadece belirli kategorilerdeki yazıları gösterebilir,
  • Dilediğiniz kategorideki yazıların görüntülenmesini engelleyebilirsiniz.

Not: Bu fonksiyonu anasayfada bir kez kullandığınız zaman yine anasayfada oluşturacağınız tüm döngüler bu fonksiyona uyacaktır. Bu nedenle bu fonksiyonu mümkünse sadece anasayfadaki ana döngü için kullanın. Diğer döngüler için WP_Query fonksiyonunu kullanabilirsiniz.

Kullanımı

query_posts fonksiyonunu anasayfada (index.php veya home.php) ana döngümüzden önce kullanırız. Bu sayede döngüde görüntülenecek yazıları belirlemiş oluruz. Örnek kullanımlara bakarak nasıl kullanıldığını daha iyi anlayabilirsiniz.
Anasayfada bir kategorinin görünmesini engellemek
Aşağıdaki fonksiyonda 3 numaralı kategorideki hiçbir yazı görüntülenmez.

<?php
   if (is_home()) {
      query_posts("cat=-3");
   }
?>

Dilerseniz birden çok kategoriyi de gizleyebilirsiniz.

<?php
   if (is_home()) {
      query_posts("cat=-1,-2,-3");
   }
?>

Belirli bir yazıyı göstermek
Aşağıdaki şekilde kullanırsanız sadece 16 numaralı yazı görüntülenir.

<?php
query_posts('p=16');
?>

Tabiî tek bir yazıyı görüntülediğimizde devamını oku şeklinde bir yazı çıkmasını istiyorsak global $more değişkenine de 0 değeri vermeliyiz. Yani yukarıdaki kodu tamamlarsak;

<?php
query_posts('p=16');
global $more;
$more = 0;
?>

Belirli bir sayfayı görüntülemek
Eğer bir yazıyı değil de Hakkımda sayfası (numarası 7 olsun) gibi belirli bir sayfayı görüntülemek istersek şu kodu kullanabiliriz.

<?php
query_posts('page_id=7');
?>
Tüm Parametreler ve Sonuç

Bu yazımda size böyle bir fonksiyon olduğunu göstermek ve bu fonksiyonun nasıl kullanıldığını kısaca anlatmak istedim. Fakat oldukça geniş bir fonksiyondan bahsediyoruz. Öyle ki fonksiyonun birçok kategori, yazar, etiket, sayfa ve yazı parametreleri bulunuyor. Tüm bu parametrelere ve kullanımına buradan bakabilirsiniz.

Umarım aklınızdaki bazı sorulara cevap bulmuşsunuzdur. Kolay gelsin…

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.

Bu Yazıya Ait Yorumlar

Lowman

Lowman
30 Eylül 2008

güzel özelliklerden birtanesi. özellikle magazine tipi bloglar için ideal.

bilginyoksa

bilginyoksa
01 Ekim 2008

dönüşün harika oldu

nadir

nadir
04 Ekim 2008

Ben şu kodu

sitemde kullandım. Evet dilediğimiz kategorideki yazıları gizleyebiliyoruz. Çok da işime yaradı; lakin bu seferde “pagenavi” bozuldu, yani sayfalama yapmadı. Bir çözüm yolu var mı acep?
Esenlile…

Yasin

Yasin
28 Ekim 2008

Selamlar.

Bir sorum var sanırım tek siz çözebilirsiniz.

ile postları çekiyorum ama ben en son yazılan çıksın istemiyorum mesela en son yazdığım a,b,c,d diye 4 postum var. Sırladığımda baştaki a yerine b,c,d gözüksün istiyorum. Yani en son yazılan yazıyı göstermek istemiyorum. Bunu yapabilir miyiz?

Emin

Emin
14 Kasım 2008

arkadaşlar benimde bir sorum var mesela bir kategori altında 5 yazı var a b c d e bunlardan ilk ikisini bir yerde (a b) kalanları başka bir yerde listeletmek istiyorum ne yapmalıyım?

Hayalmeyal

Hayalmeyal
18 Kasım 2008

Selam.
Sitede deneme amaçlı olarak

olarak kullandım, 1 nolu kategoriyi göstermiyordu, fakat Pagenavi hatası verdi, sayfa 2 ye tıkladığımda da anasayfayı açıyordu. Hosting windows sanırım bundan kaynaklanıyor. Bilginize

Emre Soytürk

Emre Soytürk
08 Aralık 2008

Ana sayfada her katagoriden 5 er konuyu listelemek istiyordum bu kodla deneme yapıcam umarım işime yarar. teşekkürü borç bildim teşekkür ederim :)

amarat

amarat
22 Şubat 2009

http://www.entelektuel.com/index.txt adresine index.php yi yükledim. acaba ben 11 numarale kategorimi nasıl ana sayfada göstermem.pagenavi kullanıyorum.

yakuter

yakuter
22 Şubat 2009

Aşağıdaki güncellemeyi yapın
$my_query = new WP_Query(‘showposts=1&cat=-11′);

Tabi bu örnekteki kodlarınızla sayfalama eklentiniz çalışmaz. Çalışması için WP_Query’yi şurada Using Pagination başlığında gösterildiği şekilde kullanmanız gerekir.

Son olarak kişisel yardımda bulunmadığım için sorunlarınız için WordPress-tr.com forumlarında sormanızı rica ediyorum.

İyi günler

mirc

mirc
28 Şubat 2009

güzel paylaşım teşekkürler

Nego

Nego
06 Haziran 2009

BU fonksiyonu kullanmak istiyorum fakat sadece 4 yazının seçilmesini istiyorum. yani kodun okunduğu yerde 4tane yazı gosterilecek. Böyle olmayıncca bütün postlaroı gösteriyor :

yakuter

yakuter
08 Haziran 2009

@Nego, bu fonksiyonun tam kullanımı ve tüm parametreleri için bağlantı adresini verdiğim WordPress.org’daki makalei okuyabilirsin. Kolay gelsin.

Ugrak

Ugrak
16 Haziran 2009

çok işime yaradı teşekkürler

fatih

fatih
23 Ağustos 2009

iyi günler. ben sitemde 2-3 tane kategorinin yazılarını ana sayfamda x kategorisinin yazıları, y kategorisinin yazıları şeklinde bir kaç tane koyacağım. Gerekli kod nedir öğrenebilirmiyim.

Faceroot

Faceroot
10 Mart 2010

yakuter hocam çok teşekkürler. eline sağlık

hikmet

hikmet
25 Temmuz 2010

merhaba

sayfada sabit katagoriler ve içindeki 10 haber başlığı

Bir sorum olacak

wp da ana sayfamda diyelim ki 10 katagorim var. şimdi bu katagorileri sabitlemek yani surekli ayarladığımız sirada kalmasıni ve kat içerisinden 10 haber başlığını göstermek istiyorum. bunu nasil yapa bilirim ?

Caner

Caner
28 Mart 2011

Selamun Aleyküm uzun bir zaman olmuş ama bir sorum olacaktı.
Ben şöyle birşey yapmak istiyorum.Veritabanında " goster " adında bir alan oluşturup bu alana i 1 yada 0 değerleri girilecek..
Anasayfada ise goster = 1 olanı göstermek istiyorum. 0 ise göstermeyecek. Bunu yapmamın bir yolu var mı acaba ?
Şimdiden Teşekkürler …

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.

TAMindir.com - Yeni Programlar

iPadian - Windows

Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...

ClipGrab - Windows

YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...

Elder Scrolls V Skyrim Duvar Kağıtları - Windows

Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....

Undelete 360 - Windows

Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...

Knights of the Old Republic 2 Duvar Kağıtları - Windows

Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi).
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.