Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

WordPress Fonksiyonu – query_posts

1 min read

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]<?php
if (is_home()) {
query_posts("cat=-3");
}
?>[/php]

Dilerseniz birden çok kategoriyi de gizleyebilirsiniz.

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

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

[php]<?php
query_posts(‘p=16’);
?>[/php]

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]<?php
query_posts(‘p=16’);
global $more;
$more = 0;
?>[/php]

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]<?php
query_posts(‘page_id=7’);
?>[/php]

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…

Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

17 Replies to “WordPress Fonksiyonu – query_posts”

  1. 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…

  2. 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?

  3. 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?

  4. 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

  5. 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 :)

    1. 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

  6. 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 :

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

  7. 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.

  8. 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 ?

  9. 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 …

Leave a Reply

Your email address will not be published. Required fields are marked *