Bir wp_query argümanı nasıl filtrelenebilir
WP_Query sınıfı çok güçlü. Bu, WordPress sitenizde – ana içerikte, yanda veya istediğiniz yerde çalıştırmak için kendi özel sorgularınızı yapmanızı sağlar. Bu, özel bir şablon dosyasında veya yanlar veya altbilgi gibi içerik dışındaki alanlarda kullandığım bir şey. Ve WP_Query kullanarak özel sorguyu kaç kez kodladığım sayımını kaybettim. Ancak tüm yeniden çalışmayı önlemek mümkündür. Sorgu argümanınızı filtrelenebilirse, argümanları değiştirmek ve sitenizdeki farklı yerlerde farklı sorgular çalıştırmak için işlevler yazabilirsiniz. Bu, birkaç varsayılan bağımsız değişkenle (veya hatta bağımsız değişkensiz) eklentiler yazabileceğiniz ve daha sonra bağımsız değişkeni değiştiren temanıza (veya diğer eklentilere) işlevler yazabileceğiniz anlamına gelir.
Bu, sorgu argümanınızı kullanarak çalışan döngüyü değiştirmez (isteseniz bile, bunun için başka bir filtre oluşturabilirsiniz), ancak bu, WP_QURY örneğinizi bir kez kodlayabileceğiniz ve daha sonra ihtiyacınız olduğunda tweet atabileceğiniz anlamına gelir. Bu yazıda, WP_Query örneğiyle bir eklenti nasıl yazacağınızı göstereceğim ve argümanları düzenlemek için işlevi tema işlevlerinize nasıl yazacağınızı göstereceğim. Bu yazıyı takip etmeniz gereken şey, birkaç şeye erişmeniz gerekir:
Kendi temalarınızı veya çocukların temalarını çalıştıran WordPress kurulumunun geliştirilmesi veya test edilmesi
Kod editörü
Ayrıca eklentilerin nasıl yazılacağı, işlev dosyalarının nasıl düzenleneceğine ve WP_Query’nin nasıl çalıştığını anlamanız gerekir.
Hazır? O zaman başlayalım! WP_Query eklentisini yazmak eklentinizi yaparak başlar. WP-Content/Eklentileri klasörünüzdeki eklentiniz için yeni bir klasör oluşturun, ardından içinde boş bir dosya oluşturun. Gelecekte eklentime stiller, komut dosyaları veya dosyalar eklemek istersem her zaman bir klasör yaparım. Bu eklentimin açılış satırı: 21AF1E226CB9C43FB0DA0F6601798BA’nın özünü içeriyor
Şimdi wp_query işlevini ekleyelim. $ Args değişkenini ekleyerek başlayacağım, ancak boş kalıyor:
21AF1E226CB9C43FB0DA0EF6601798BA’nın özünü içerir
Sonra döngü ekledik:
21AF1E226CB9C43FB0DA0EF6601798BA’nın özünü içerir
Tam işlev aşağıdadır:
21AF1E226CB9C43FB0DA0EF6601798BA’nın özünü içerir
Artık oldukça standart bir kuyruk ve döngü var. Bu, sorguyu argümana (şu anda boş) göre çalıştıracak, ardından başlığı ve ardından orada bir bağlantı ile alınan öğelerin bir listesini görüntüler. Bu, argüman olarak kategoriyi, taksonomi, yazı türünü veya herhangi bir şeyi kullanarak yayınların bir listesini görüntülemek için kullanılabilir. Ancak şu anda hiçbir şey üretmeyecek, çünkü argüman boş. Bazı argümanlar ekleyelim ama filtreye saralım.
Filtrelenebilecek bağımsız değişkenler ekleyin Kodunuzdan $ args alın ve bazı argümanlar eklemek için düzenleyin. Post çıktı miktarını sınırlamak için yalnızca Posts_per_Page’a bir argüman ekleyeceğim. Başka bir argüman eklemeyeceğim: Bu şekilde en son beş gönderi görüntülenecek. İsterseniz, bazı farklı argümanlar ekleyebilirsiniz.
21AF1E226CB9C43FB0DA0EF6601798BA’nın özünü içerir
Şimdiye kadar çok basit. Şimdi argümanları bir filtreye ekleyelim. Kod: 21AF1E226CB9C43FB0DA0F6601798BA’nın özünü içerir
Bu, tek argümanımızı, daha sonra argümanı değiştirmek için diğer eklentilerden veya temanızdan ilişkilendirebileceğiniz WPMU_Filterable_Query adlı bir filtreye sardı.
Bunu yaparken, döngüdeki başlığa bir filtre ekleyelim, çünkü bu oldukça yaygın. Döngünüzü bir filtre içerecek şekilde düzenleyin:
21AF1E226CB9C43FB0DA0EF6601798BA’nın özünü içerir
Ve hepsi bu. Döngüye birkaç filtre daha eklemeye karar vermedikçe, eklentiniz hazırdır.
Temanızda bir filtre kullanarak bir sonraki adım, temanızda birkaç işlev yazmaktır. Birincisi WPMU_Filterable_Query Action’ı arayacak ve sayfanızda görüntüleyecek. Bunu birkaç yoldan biriyle arayabilirsiniz. Birincisi, Add_action işlevini kullanarak temanızdaki eylem kancasına eklemektir. Yani, temanızda my_theme_sidebar_hook adında bir kanca varsa, bu tarafın yan tarafındaki kuyruğu görüntüleyeceksiniz:
21AF1E226CB9C43FB0DA0EF6601798BA’nın özünü içerir
İkincisi doğrudan tema şablonu dosyasına kodlamaktır. Mümkünse kancalarla çalışmayı tercih ederim, çünkü bana daha fazla esneklik sağlar, ancak temanızın bir kancası yoksa, bu en iyi yaklaşım olabilir. Üçüncü taraf bir temayla çalışıyorsanız, tema dosyasını doğrudan düzenlemeyin – bunun yerine çocuğun temasında bir kopya yapın. Ardından tema şablonu dosyanızda wpmu_filterable_query işlevine çağrı ekleyin:
21AF1E226CB9C43FB0DA0EF6601798BA’nın özünü içerir
Bu, şablon dosyanızdaki işlevi yalnızca koyduğunuz yerde çalıştırır. Üçüncü seçenek, bu sorguyu varsayılan yerine çalıştıracak sayfa şablonu dosyası gibi yeni bir şablon dosyası oluşturmaktır. Bu durumda, anne temanızdan veya temanızdan Page.php’nin bir kopyasını yapacak ve yukarıdaki gibi işlev görerek standart döngüyü değiştireceksiniz. Bu şekilde temanıza işlevler ekliyorsunuz. Ama argümanı nasıl filtreleyebilirim? Temasınızdaki bağımsız değişkenleri Filtreleme Son adım, queer bağımsız değişkenini filtrelemek için tema işlev dosyalarınıza işlevler yazmaktır. Ayrıca, eklentinizdeki döngüye eklemeyi seçebileceğiniz diğer filtreleri kullanmak için başlığı filtrelemek için ikinci bir işlev ekleyebilirsiniz.
Bunu isterseniz bir eklenti kullanarak yapabileceğinizi unutmayın, ancak temanız için işlevleri kodladığınız için, bu kodu işlev dosyanıza eklemenin daha iyi olduğunu düşünüyorum. Doohickey adlı bir yazı türü kaydettiğinizi ve bunun yerine görüntülemek istediğinizi düşünün. Ancak altı gönderi üretmek yerine, dört tane sergilemek istersiniz. İşlev dosyanızda şu kodlara ihtiyacınız var:
21AF1E226CB9C43FB0DA0EF6601798BA’nın özünü içerir
Bu, orijinal filtre içeriğini işlevdeki yeni içerikle değiştirir. Orijinal filtrede herhangi bir argüman korumak istiyorsanız, bu işleve eklemeniz gerektiğini unutmayın, çünkü yeni kod eski koda gelir ve eklemeyin.
Ardından, başlık metnini düzenlemek için bir işlev ekleyelim:
21AF1E226CB9C43FB0DA0EF6601798BA’nın özünü içerir
Filtredeki
başlık
yerine yeni işlev içeriği görüntüler. Bu iki işlevi isteklerinize değiştirebilirsiniz. WP_Query Filtrellenebilir Oluşturma Kodunuzu daha verimli hale getirin ve WP_Query sınıfını birçok sitede kullanacaksanız ve kendinizi WP_QUERY’den her zaman WP_Query kodlamasından kurtarmak istiyorsanız, bu, bazı çalışmalarınızı kaydedebilir. WP_Query kullandığınız her sitede, yalnızca Filtre Kancasına eklenecek işlevi ve işlevi bir çağrı eklemeniz gerekir. Eklentinizi daha esnek hale getirmek istiyorsanız, dahil dosyayı yerine ilmek için kullanabilirsiniz. Doğrudan eklentiye kodlar ve ardından filtredeki Incors_once () çağrısını içerir. Bu şekilde, istenirse farklı bir dahil dosyayı çağırabilir ve farklı bir döngü sürümü görüntüleyebilirsiniz.
Umarım bu yararlı öğreticiyi bulursunuz! Kod hakkında sorularınız varsa, aşağıdaki yorumlarda bize söyleyin.
Etiket:
wp_query