Merhaba millet,
Bu eğitimde, bir listenin sonuçlarını bir tarih alanına göre nasıl filtreleyebileceğimizi göreceğiz.
Aşağıdaki eğitimde aşağıdaki premium eklentileri ve şablonları kullanacağız:
Gelişmiş Özel Dosyalanmış (ACF)
Video öğretici
Kanalıma abone ol:
Bir etkinlik sayfası oluşturduğumuzu ve etkinlik bittiğinde web sitemizin listesinde görünmemesine ihtiyacımız olduğunu düşünelim.
Bunun gibi bir şey:
Dediğim gibi event geçtikten sonra listede gözükmemesini istiyoruz.
Birçok olası çözüm var, aklıma gelen şu:
- ACF ile bir Tarih alanı oluşturun
- FacetWP'deki sonuçları bu alana göre filtreleyin
ACF ile bir Tarih alanı oluşturun
ACF sayesinde bir tarih alanı oluşturabiliriz, benim durumumda adında bir alan oluşturdum. Tarih Kaldır İş
Bir çalışmayı doldurduğumda şöyle görünüyor:
Çalışmanın aynı tarih alanını neden kullanmadım?
Performans tarihi alanını neden kullanmadığımı merak ediyor olabilirsiniz.
İki nedenden dolayı yapmadım:
İfa tarihi alanının kullanılmamasının 1. Nedeni
Çünkü işi zamanından önce kaldırmamak için icranın zamanını da hesaba katmak zorunda kalacaktım.
2. Neden
Bir işin birkaç performans tarihi olabilir, bu yüzden hangisini kullanacağımı hesaba katmak benim için zor olurdu.
Çıldırmamak için, işi ortadan kaldırmak için tarih için yeni bir alan kullanmanın daha iyi olacağını düşündüm.
Alanı hazırladıktan sonra filtreyi FacetWP'ye eklemeliyim.
FacetWP'de Filtre Oluştur
Bunu yapmak için Ayarlar -> FacetWP'ye gidiyoruz ve kullandığımız şablonun (Şablonlar) içinde Sorgu sekmesine gidip aşağıdaki filtreyi ekliyoruz:
Bir sonraki filtrede FacetWP'ye eserin kaldırılma tarihi mevcut tarihten büyükse sonucun filtrelendiğini yani görünmediğini söylüyoruz.
ŞİMDİ kullanırız, böylece filtre tarihi dinamik olur ve QUERY'nin yürütüldüğü anın tarihini hesaba katar.
Dinamik bir filtre oluşturmak için bulduğum yol budur.
Bunu yapmanın başka bir yolunu düşünebilir misin? Bizimle paylaşın 😉