WordPress'te Özel Sorguları Nasıl Oluşturacaksınız?

Yayınlanan: 2021-12-09

WordPress'te özel sorgular oluşturun
WordPress'te yer aldığınız tüm işlemler için, web sitenizdeki diğer tüm bilgileri sağlamak için bağlı veritabanı ile etkileşime girer. WordPress, kullandığınız en son sayfada veritabanına sorgular gönderir.

Alternatif olarak, bu işlevleri sitenize eklemek için WordPress'te özel sorgular da oluşturabilirsiniz . Bu, yalnızca web sitesindeki bilgileri sunan veritabanı bağlantısıyla mümkündür.

Veritabanı bağlantısı, WordPress sitenizi daha çekici ve ilginç bir şekilde etkileşimli hale getirir. Web sayfalarının bilgi almak için veritabanına bağlanma süreci bir sorgudur.

Bu nedenle siteye girdiğiniz tüm veriler otomatik olarak veri tabanına kaydedilir. Ancak tüm bunlar, hazırlanan veritabanı tasarımı ve buna karşılık gelen kodlamalar ile gerçekleşir. Buna ek olarak, WordPress sitesi veritabanlarına sorgular gönderirken genellikle web sayfasının şablonu değişir.

Burası; sonuçlarda bir fark yaratmayı düşünmek için sorgularda değişiklik yapabilirsiniz. WordPress'in kullanıcı dostu olması, bu değişiklikleri yapma seçeneği de sunar.

Bu nedenle, WordPress'te özel sorgular oluşturmak istiyorsanız, bu makale bunu yapmanıza yardımcı olacaktır.

Özel sorgu nedir?

Özel sorgular, gerçek veritabanından özel tabloların geliştirilmesine yol açar. Bu tablolar, veritabanları ile geliştirdiğiniz bağlantı ile görünümler kurar. Sorgu dili, veritabanlarının anladığı dildir.

WordPress durumunda, sorgular aracılığıyla bağlı veritabanlarından tüm verileri alır. Veriler, gönderiler, ekler ve web sitesine eklenen içeriklerle ilgili olabilir.

WordPress'in oluşturduğu çok sayıda sorgu vardır, ancak üzerinde belirli bir değişiklik yaptıktan sonra özel bir sorgu haline gelir. Bilgi almak için gereksinimlerinize göre tamamen yeni bir sorgu da oluşturabilirsiniz.

WordPress'te sorgularınızı özelleştirmenin yolları nelerdir?

WordPress'te özel sorgular oluşturmanın en önemli yollarından bazıları şunlardır:

pre_get_posts'u kullanma

Bu işlevi kullanarak, eklentileri kullanarak bir işlev ekleyerek mevcut sorguda değişiklikler yapabilirsiniz. Farklı koşullu ifadelerin kombinasyonlarını bile kullanabilirsiniz, böylece yalnızca belirtilen koşulla eşleşen web sayfasında çalışır.

Başlangıçta, pre_get_posts eylemi aracılığıyla erişebileceğiniz global bir $query değişkeni tanımlamanız gerekir. Unutmayın, sorguda bu değişikliği yaparken beklenen sayfada olmanız ve ana sorguyu kullanmanız gerekiyor. Bunun nedeni, aksi takdirde bu eylemin yönetici alanını da çağırmasıdır.

1. Kategori sorgusunu değiştiriyorsanız bu kodu kullanın: kategori sorgusu

2. Dizin sayfanızın sorgusundan kategori özelliklerini kaldırırsanız, bu kodu kullanın: kategori yönleri Bu nedenle, önceden tanımlanmış WordPress sorgusunu değiştirmek istediğinizde gönderileri önceden al eylemini kullanabilirsiniz.

3. Ayrıca, aşağıdaki gibi sorgu ifadelerine koşullar ekleyin:

4. pre_get_posts eylemini kullanarak belirli türdeki gönderileri diğer sayfalara da ekleyebilirsiniz. Bunun için bu kodu function.php dosyasına veya kullandığınız eklentilere ekleyin:

Bu sorgu, is_home() aracılığıyla bir sorgusu olup olmadığını ve ana sayfada bulunup bulunmadığını kontrol eder. Sonra 'post' ve 'custom_post_type' gibi iki gönderi türü içerir.

5. Ek olarak, özel gönderiyi kategori arşivlerinin sayfalarına eklemek isterseniz, şunu kullanın:

Bu sorgu, kategori arşivini is_category() ile kontrol eder.

WP_Query sınıfı

Bu sınıf, wp-includes/query.php dosyasının bir parçasıdır. Bir şablon dosyası için ikinci döngü oluşturmak için tamamen yeni bir sorgu oluşturmanın en önemli yoludur. Bu sorguyla ilgili en büyük sorun, döngüyü çalıştırırken sıfırlarsanız WordPress'in hangi sayfanın görüntülendiğini anlayamamasıdır.

1. WP_Query sınıfını kullanmak, WordPress sorgusunun değiştirilmesini gerektirecektir. Bunun için have_posts() ve the_post() gibi yöntemleri çağırmak için sınıf değişkenine ihtiyacınız olabilir.

2. Veritabanını tekrar aramanız gerekebilir. Ancak bunun yerine, bu çağrıyı sıfırlamak istiyorsanız wp_reset_postdata() işlevini kullanın.

3. Bunların dışında, WP_Query_class'ı kullanmak için farklı parametrelere sahip birkaç yöntem vardır.

Şablon etiketini kullanarak get_post()

WP_Query sınıfındaki bu eylem, şablon dosyalarına daha fazla esneklik eklemenin daha basit bir yoludur. Bunu şu şekilde kullanabilirsiniz:

get_post() kullanmanın en iyi yanı, herhangi bir argümanı olmayan gönderileri kontrol edebilmenizdir.

Şablon etiketini kullanarak get_pages()

Bu şablon etiketi, tüm statik sayfaları getirir. Aşağıdaki kod, sidebar.php dosyasındaki kodu uygulayarak kenar çubuğuna listeler ekler:

Yukarıdaki kodda, 'ebeveyn' argümanı herhangi bir üst sayfa olup olmadığını kontrol eder. get_pages() diziyi doldurur. setup_postdata(), bağlantıyı ve başlığı gösterecek birçok şablon etiketine sahiptir. Bu, setup_postdata() yerine çalışır.

query_posts() işlevini kullanma

Ana sorguda bazı değişiklikler yapmak için etkili ve güvenilir bir yöntemdir. Bu işlev, ana sorguyu değiştirmeye yardımcı olur, ancak bazen dışarı çıkar ve yeniden başlar. Bunlar, ana sorgunun yeniden çalıştırılmasına yol açacaktır. Genel olarak, bu süreç aslında siteyi yavaşlatır ve çoğu zaman bozulur.

Özel Sorguyu kullanma değişir

WordPress, WordPress'te özel sorgular oluşturmak için bir sorgu dizesinde bir dizi özel değişken sağlar. WordPress'in varsayılan bir özelliği, sorgunun genel ve özel değişkenlerine izin vermesidir.

1. Genel sorgu değişkenleri aşağıdaki gibidir:

Sorguyu oluşturmak için bu doğrudan bağlantıyı kullanabilirsiniz.

2. Özel bir sorgu olması durumunda, bunun yerine bir sorgu dizesi oluşturmanız gerekir. Değeri sorguda iletemezsiniz, ancak bunları aşağıdaki gibi sorguya yerleştirebilirsiniz:

3. Temanın fonksiyon dosyasında herhangi bir değişiklik yapmadan veya bir eklenti kullanmadan yeni WordPress sorguları geliştirebilirsiniz. Ancak bunun için bir URL oluşturun ve mevcut parametrelerle sorgu dizesini ekleyin. Buna yanıt olarak, WordPress kullanıcı için tüm sonuçları görüntüler.

Örneğin, belirli bir gönderi türüyle ilgili bir sorgunuz varsa, post_type olarak bilinen parametreyi ekleyin. Bunun dışında, aşağıdaki gibi sorgu dizeleri çiftleri ekleyerek özel sınıflandırma ekleyebilirsiniz:

4. Özel Sorgu değişkenlerini kaydedebilirsiniz:

Bunu kullanmak için temanın function.php dosyasından eklentilerin ana dosyasını açın. Ancak başlangıçta, vars adlı özel sorguyu kaydetmeniz gerekir. Sonuç olarak, query_vars olarak bilinen filtreyi kullanabilir ve bu kodu kullanabilirsiniz:
Bu kodda, geri çağırma işlevi, bağımsız değişken olarak işlev gören bir dizi değişken kullanır. Buna ek olarak, yeni değişkenleri eklediğinizde benzer bir dizi döndürmeniz gerekir.

WordPress'te özel sorguların önemi nedir?

Özel sorgular birçok yönden önemlidir. Belirli bir şekilde veri alınmasını gerektiren WordPress eklentileri için kod yazma durumunda, özel sorguları kullanabilirsiniz. Diğer uygulamalardan veri gerektirecek JSON REST API'sini oluşturuyorsanız, özel sorgular önem kazanır.

WordPress'te özel sorgular oluşturabileceğiniz belirli amaçlar vardır. Yayınlanan gönderilerin tüm verilerini listelemek, blog gönderilerini belirli kategorilere göre getirmek ve kategorileri de listelemek istiyorsanız özel sorgular oluşturabilirsiniz. Buna ek olarak, yazarın biyografisini, bir gönderiden öne çıkan görselleri listelemek için özel sorgular oluşturabilir ve gönderi kimliğini kullanarak tek bir gönderiyi görüntüleyebilirsiniz.

Özel sorgularla ilgili en iyi şey, web sayfalarınıza daha fazla işlevsellik eklemenize yardımcı olmasıdır. Web sayfanızı daha etkileşimli hale getirmek ve kalabalıkta öne çıkmak için ekler. Özel sorguları bilmenin en belirgin işareti, herhangi bir gecikme olmadan WordPress sitenizden ilgili bilgileri alabilmenizdir. Ayrıca, sitenizdeki kullanıcı deneyimini iyileştirmeye ve web sayfalarınızın kalabalığın içinde öne çıkmasına yardımcı olur.

Sonuç olarak

WordPress'te özel sorguların nasıl oluşturulacağını bilmenin en iyi yanı, web sayfaları geliştirme becerilerinizi geliştirmede önemli bir rol oynar. Gelecekte temaları veya eklentileri özelleştirmek için temel bir fikir edinmenize yardımcı olur. Çoğu zaman, web geliştiricileri veya web sitesi tasarımı ve geliştirmesinin teknik bilgisini anlamaya hevesli web sitesi sahipleri bu becerileri kullanır.

Sorguları özelleştirme yöntemleri çoktur ve kesinlikle büyük veri kümelerine dayanan karmaşık siteler geliştirmede kullanım bulurlar. Burada tartışılan tüm yöntemlerin uygulanması daha kolaydır. Ayrıca, en karmaşık WordPress sitelerinden bazılarını geliştirme hızınızı takip ediyorsanız, bu yöntemler çok önemlidir.

WordPress siteleri, tüm verilerini phpMyAdmin adlı web uygulaması aracılığıyla yönetir. Veritabanını yönetmek için kolay ve basit bir kullanıcı arayüzüne sahip açık kaynaklı bir yazılımdır. Sonuç olarak, WordPress'te özel sorgular oluşturmak için bu basit yöntemleri veya işlevleri kullanırsanız, gerekli bilgileri alabilirsiniz.

İlgili Yazı: WordPress'te Özel Taksonomiler Nasıl Oluşturulur