WP_Query ile WordPress'te Sorgu Gerçekleştirin

Yayınlanan: 2023-02-12

WordPress web sitenizi besleyen veritabanı değerli bilgilerle doludur. Gönderilerinizi ve sayfalarınızı birçok farklı değişkene göre filtrelemeyi mümkün kılan şey budur. Ancak, görüntülemek istediğiniz şey temanızın bir parçası değilse, bu verileri kullanmanın başka yolları da vardır.

WP_Query burada devreye giriyor. Bu, çok çeşitli parametrelerden yararlanan bir PHP sınıfıdır. Sonuç olarak, web sitenizde kullanmak veya görüntülemek için WordPress veritabanından veri çekmenizi sağlar.

Bu yazıda, WP_Query sınıfını ve nasıl kullanılabileceğini daha iyi anlayacağız. Ayrıca, onu kullanırken izlemeniz gereken bazı önemli adımlarda size yol göstereceğiz. Hazırsanız hemen dalışa geçelim!

İçindekiler
1. WP_Query nedir?
2. WP_Query Nasıl Kullanılır?
2.1. 1. Özel Bir Döngüye Başlayın
2.2. 2. Argümanlar: WordPress'teki Özel Sorguların Omurgası
2.3. 3. WP_Query'deki Parametreler: Kategori, Etiket ve Daha Fazlası
2.4. 4. Yöntemler ve Özelliklerle Nesneleri Değiştirin
3. WordPress'te WP_Query ve query_posts() karşılaştırması
4. WordPress Sitenizi WP Engine ile Özelleştirin

WP_Query nedir?

Bahsettiğimiz gibi WP_Query, WordPress veritabanı tarafından kullanılan bir PHP sınıfıdır. Bu özel sınıf birkaç şey yapabilir, ancak öncelikle veritabanından gönderileri çekmek için kullanılır.

Adından da anlaşılacağı gibi belirlediğiniz kriterlere göre sorgulama yapar. WordPress'te WP_Query ile kullanabileceğiniz birçok parametre olduğundan, gönderileri çeşitli benzersiz yollarla çekip görüntüleyebilirsiniz. Bu seçenekleri bu yazının ilerleyen kısımlarında daha ayrıntılı olarak inceleyeceğiz.

WP_Query Nasıl Kullanılır?

WordPress kod tabanının çeşitli yönlerini yeni öğreniyor olsanız bile, WP_Query başlamak için iyi bir sınıftır. Şimdi, onu web sitenizde kullanabileceğiniz dört farklı yolu inceleyelim.

1. Özel Bir Döngüye Başlayın

WP_Query çağrısını tanımanın en iyi yollarından biri WordPress Döngüsüdür. Döngünün ne olduğuna aşina değilseniz, okumanız gereken önemli bir kavramdır.

Döngü, veri tabanını posta içeriği için çağıran şeydir ve döndürülen verileri görüntüler. Ayrıca, sitenizin tek bir sayfada kaç gönderi göstermesini istediğiniz ( Ayarlar > Okuma menüsünde yapılandırabileceğiniz bir şey) gibi ayarlanan parametrelere dayalı olarak çalışır.

Döngünün temelleri şöyle görünür:

<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// Display post content
endwhile;
endif;
?>

Bu basit ifade, esasen, gönderiler varsa bunların görüntülenmesi gerektiğini söylüyor. Elbette, istediğiniz görüntüyü oluşturmak için bu temele çok çeşitli şablon etiketleri ekleyebilirsiniz.

Döngüye WP_Query de ekleyebilirsiniz. Bu, hangi gönderilerin döndürüleceğine ilişkin parametreler yerleştirmenizi sağlar. Bunun nasıl görüneceğini inceleyelim:

<?php

// The Query
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

Temel Döngüden aynı if/while ifadelerini göreceksiniz, ancak ek bir WP_Query dizesi var. Burada ayarlanan parametreler ne olursa olsun, hangi gönderilerin görüntüleneceğini belirleyecektir.

Örneğin, belirli bir yazarı bir gönderi listesinden çıkarmak isterseniz, bunu Loop'ta WP_Query ile yapabilirsiniz:

$query = new WP_Query( array( 'author' => -12 ) );

Bunu Döngüye yerleştirerek, görüntülenen gönderileriniz artık yazar numarası "12" olan kullanıcıyı içermeyecektir.

Bu yöntemle kullanabileceğiniz parametre sayısı neredeyse sonsuzdur. Sadece iki örnek vermek gerekirse, kategori bilgilerinin yanı sıra gelişmiş taksonomileri de dahil edebilirsiniz.

2. Argümanlar: WordPress'teki Özel Sorguların Omurgası

Önceki örnekte, dizenin bir parçası olarak “($args)” fark etmiş olabilirsiniz. Bu, dahil edilen 'argümanlara' atıfta bulunan sorgunun hayati bir parçasıdır. Veritabanına, döndürülen verilere tam olarak neyin dahil edileceğini söyler.

Temel olarak, bu bağımsız değişkenler, tam olarak görüntülemek istediğiniz sonuçları belirlemek için ayarlanabilir. Argümanlar, değişkenlerin değerini değiştirmek için de kullanılabilir. Örneğin, kategori listenizin sayfada nasıl göründüğünü değiştirmek isterseniz, bir bağımsız değişken kullanabilirsiniz.

Argümanınız bir dizi değişken ve değer tanımlayacaktır. Dolayısıyla, isterseniz, bir diziyi tanımlamak için bir bağımsız değişken kullanabilir ve veritabanınıza kategorileri azalan düzende sunmasını söyleyebilirsiniz. Ek olarak, gönderi içermeyen kategorileri hariç tutmak için aynı yöntemi kullanabilirsiniz.

3. WP_Query'deki Parametreler: Kategori, Etiket ve Daha Fazlası

Bu noktaya kadar, sadece geçerken parametrelerden bahsettik. Bu noktada, gerçekte neler yapabildiklerine daha yakından bakalım. Birincil işlevi, özel olarak tasarlanmış gönderi koleksiyonlarını çekmenizi sağlamaktır.

Sitenizin başlığında kullanılabilecek bir parametre örneği, Kategori parametresidir. Görüntülenecek belirli kategorileri belirtmek için bunu kullanabilirsiniz. Bu, ilgili kategori numarası veya bilgisi sağlanarak yapılır.

Ayrıca aynı işlemi Tag parametresi ile de yapabilirsiniz. Tabii ki, Kategori ve Etiket parametreleri, WP_Query kullanımı söz konusu olduğunda buzdağının sadece görünen kısmıdır.

4. Yöntemler ve Özelliklerle Nesneleri Değiştirin

WP_Query gibi bir sınıfın özelliklerini doğrudan değiştirmeniz önerilmese de, yöntemleri kullanarak onlarla etkileşim kurabilirsiniz. Temel olarak, yöntemler işlevler gibidir, özellikler ise değişkenlerin eşdeğeridir.

WP_Query'nin birçok özelliği vardır. Bunlar, basit "$posts" özelliklerinden daha karmaşık olanlara kadar değişir. Onlarla etkileşime geçmek için hangi yöntem kullanılırsa kullanılsın, yerine koymayı seçtiğiniz parametrelere dayalı olarak veriler döndürülür.

WordPress'te WP_Query ve query_posts() karşılaştırması

Sayfanızdaki ana sorguyu değiştirmenin başka bir yolu olduğunu belirtmekte fayda var. Bu, query_posts() işlevidir. Bu, WP_Query'ye benzer şekilde çalışabilse de, çok sorunlu da olabilir.

WordPress Kod Referansı, bu işlevi web sitenizin ana Döngüsünde kullanmamanızı şiddetle tavsiye eder. Eklentilerde ve temalarda bundan kaçınmak da en iyisidir. Bunun nedeni, ana sorgunuzu tamamen geçersiz kılmasıdır.

WP_Query sınıfı tercih edilir, çünkü bir sorgu çalıştırdıktan sonra ana Döngüyü 'sıfırlayabilirsiniz'. WP_Query, bir döngüde birden fazla sorgu çalıştırmanıza izin verdiğinden, wp_reset_postdata işlevinin nasıl uygulanacağını da anlamak isteyeceksiniz.

Ana WordPress Döngüsünün içine ikincil bir döngü yerleştirdiyseniz, sıfırlama işlevi en sona yerleştirilir ve şöyle görünür:

<?php wp_reset_postdata(); ?>

Bu, varsayılan şablon etiketlerini geri yükleyecek ve ikincil döngünüz başlatılmadan önceki duruma geri döneceksiniz.

WordPress Sitenizi WP Engine ile Özelleştirin

Öğelerin web sitenizde nasıl görüntülendiğine ilişkin ayarlamalar yapabilmek, WordPress kullanmanın avantajlarından yalnızca biridir. WP_Query'yi anlamak ve geliştirici kaynakları sayfasında sağlanan araçlardan yararlanmak, gerçekten özelleştirilmiş web siteleri oluşturmanıza yardımcı olabilir.

WP Engine'de, ilgi çekici web siteleri oluşturmak için ihtiyaç duyduğunuz kaynaklara sahip olduğunuzdan emin olmak konusunda tutkuluyuz. WordPress çözümlerimize ve barındırma planlarımıza bugün göz atın!