Bir liste yapın & quot; favori şeyler & quot;Özel bir alan kullanarak rastgele eğlence

Özel alanlar, genellikle kullanımda olmayan WordPress yönleridir. Ancak biraz hayal gücü ve bazı özel kodlarla, onlarla her türlü eğlenceli şey yapabilirsiniz. Bu yazıda, web sitesinde bazı bilgilerle favori şeylerin bir listesini görüntülemek için özel alanları (veya eminseniz meta verileri post) nasıl birleştireceğinizi göstereceğim. Liste rastgele olacak ve get_post_meta () işlevini kullanırsanız elde ettiğiniz varsayılan listeden daha fazlası olacaktır. Aşağıdaki görünüm:

Bu gönderiyi takip etmeniz gereken şey, aşağıdakilere ihtiyacınız var:
WordPress testi veya geliştirme kurulumu
Kod editörü
Gönderi türlerini kaydetme, özel alanlarda çalışma ve wp_query kullanma hakkında bazı bilgiler.
Bu yazı oldukça sofistike, bu yüzden bir gün kilitlenirseniz, bir an için durmak ve WordPress’in geliştirilmesinde Akademi kursumuz için zaman ayırmak isteyebilirsiniz. Orta kursum size bu yazıda kullanacağım tüm kodlarda temeli veriyor. Not: Bu öğreticiye eşlik edecek kod GitHub’da bulunabilir. Öyleyse çatlayalım! En sevdiğimiz şeyler hakkında bilgi üretmek için ne yapacağımız bazı şeyler yapacağız:
“Favori” adlı özel bir gönderi türü kaydedin
Yeni Gönderi Türümüz için yayınlama ekranı için bir meta kutu oluşturun
Metabox’a birkaç alan eklendi
Bazı favori şeyler ekleyin ve her biri için Metabox alanımızı doldurun
En sevdiğimiz şeyler hakkında veri almak için özel bir sorgu çalıştırmak
Sitede metin olarak serbest bırakmak için değişken dizisinde bize verilenleri kaydedin
Bu tartışılması çok fazla ve her bölüm için çok fazla ayrıntı tartışmayacağım. Ancak, zaman içinde kullandığım teknikler ve işlevler hakkında daha fazla bilgi edinebileceğiniz yayınlara ve öğreticilere bağlantılar sağlayacağım.
Özel gönderi türüyle başlayalım. İlk tür özel yayınımızı kaydedin, yeni bir eklenti yapmanız gerekiyor – bunu nasıl yapacağınızı bildiğinizi varsayıyorum, ancak emin değilseniz, eklentiler yazma kılavuzumuza bakın. Şimdi eklentinizde, özel bir yazı türü kaydetmek için kodu ekleyin:
D86649fa7c6a6845bff9ddc8bfaf7466’nın özünü içerir
‘Destekler’ parametrelerinin, ‘editörler’ ve ‘özel alanlar’ gibi yeni yayın türleri için genellikle yaptığınız birkaç şey içermediğini unutmayın. Kasıtlıydı: Bu tür yayınlara normal içerik eklemek istemiyorum ve özel bir alan arayüzüne erişmek istemiyorum çünkü buna metabox ekleyeceğiz.
Şimdi Metabox’u ekleyelim. Mevcut gönderi ekranımıza Metabox ekleyerek, eklentinizde hala, kullanıcıların bu favori şey hakkında bilgi girmesi için Metabox eklemeniz gerekir. İki alana gireceğiz: bunun iyi olan ve o kadar iyi olmayan şey. İlk olarak, Metabox oluşturmak için bir koda ihtiyacınız var:
D86649fa7c6a6845bff9ddc8bfaf7466’nın özünü içerir
Ardından, doldurmak için geri arama işlevi:
D86649fa7c6a6845bff9ddc8bfaf7466’nın özünü içerir
Sonra girilen verileri saklama işlevi:
D86649FA7C6845BFF9DDC8BFAF7466 Özünü içerir, orada birçok kod vardır, ancak herhangi bir meta kutusu yaparken kullanacağınızdan farklı bir şey yoktur. Meta kutusu yaparken bir temele ihtiyacınız varsa, orta seviye WordPress Akademisi kursumuza ve bu sorunla ilgili yazımıza bakın.
Şimdi özel gönderi türü için düzenleme ekranını açarsam, meta kutusunu göreceğim, ancak içerik düzenleme kutusu yok çünkü yazı türünü kaydederken girmiyorum:
Yapılacak bir sonraki şey, onlar hakkında en iyi ve en kötü şeylerle favori şeyler eklemektir. En sevdiğim şeylerden bazılarını siteme ekledim:
Hemen hoş bir parça için bir kuyruk yapın. Veritabanından üç rastgele favori şey almak için sırayı çalıştırmamız gerekiyor. WordPress, RAND değerine sahip sorularımız için Sipariş Bağımsız Değişimi’ni kullanma seçeneği sunarak bunu basitleştirir.

Aşağıda, bağımsız değişkenleri tanımlamak ve sorguyu hazırlamak ve döngüyü başlatacak koddur:

D86649fa7c6a6845bff9ddc8bfaf7466’nın özünü içerir
Şimdi standart bir döngü çalıştırmak ve her yazı için bir seferde veri vermek yerine, ilgili verileri değişken diziye saklayacağız. Bu üç şeyi içerir:
0 değeri ile başlayan ancak $ currentPost ++ kullanarak her döngüden sonra bir yükselen $ currentPost adlı bir değişken oluşturma.
$ Favorisi [$ currentPost] = get_the_title () kullanarak her gönderinin başlığını dizimize ekleyin;
Her birini iki özel alandan get_post_meta () kullanarak dizimize ekleyin.
Aşağıdaki kod:
D86649fa7c6a6845bff9ddc8bfaf7466’nın özünü içerir
Şimdi doldurulmuş bir değişken dizimiz var, bazı veriler görüntüleyebiliriz. Döngüyü kapattığımızı ve kuyruğu yeniden ayarladığımızı unutmayın: Bu verileri serbest bırakmak için döngüde olmamız gerekmiyor çünkü dizimizde tuttuk. Tüm bunlar bölüm öğesine dahil edilecek ve üç yazımızın her birinin değeri ile birlikte bazı metinleri yineleyecek: özü içeriyor
Son adım, temamızdaki işlevi yerine getirmektir. Bunu temanızdaki tema şablonu dosyasına wpmu_utput_favorite () işlevini ekleyerek veya temanız varsa Action Hook’a bağlayarak yapabilirsiniz. Demo sitemde ücretsiz blog yolu temasını kullanıyorum, bu yüzden işlevimi sayfanın üstüne içerik eklemek için sağlanan blog_way_beefore_primary kancasına bağlayacağım:
D86649fa7c6a6845bff9ddc8bfaf7466’nın özünü içerir
Ayrıca kodumu koşullu etikete (işlevde) yerleştireceğim, sadece sitemdeki çıkış olduğundan emin olmak için:
D86649fa7c6a6845bff9ddc8bfaf7466’nın özünü içerir
Yani bu, içeriği tamamlamak için bir işlevdir:
D86649fa7c6a6845bff9ddc8bfaf7466’nın özünü içerir
Şimdi gösteri sitemi ziyaret edersem, en sevdiğim şeyler hakkında rastgele bilgilerle sayfanın üstünde metin görüyorum:
Sayfayı yenilersem, değişir:
Özel ve özel sorgular alanlarını birleştirmek, bu örnekten de görebileceğiniz gibi çok güçlü olabilir, özel bir alanın özel bir sorgusu kullanmak size çok fazla esneklik sağlar.Bu durumda, sayfayı yenilediğimde rastgele ferahlatıcı olan en sevdiğim şeyler hakkında bilgi içeren paragraflar üretmek için kullandım. Bu tekniği diğer özel alanlara uygulayarak posta meta verilerini istediğiniz şekilde göstermenize olanak tanıyabilirsiniz.Sorgu argümanını değiştirirseniz, rastgele bir listeden daha hedeflenen bir listeye değiştirebilirsiniz.Meta_query’yi özel bir alanda belirli bir değere sahip bir gönderi istemek için sorgu argümanlarınızdan biri olarak bile kullanabilirsiniz.
Verileri benzersiz bir şekilde üretmek için özel bir sorgu ile birlikte özel bir alan kullandınız mı?Bize yorumlarda fikrinizi söyleyin!

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir