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