WordPress’te bir gelenek yayınlayan bir meta kutusu oluşturma

Meta Box, WordPress’te WordPress’teki yayın veya sayfaya tamamen özel veriler eklemenizi sağlayan kullanışlı bir özelliktir. Örneğin, mağazalardaki ürünlere ek olarak beslenme bilgileri göstermesi gereken müşteriler için bir web sitesi oluşturuyorsunuz (bu yazıda keşfedeceğimiz gibi). Hem yayınlar hem de özel yayınlar için arka uç WordPress’e gönderim ekranına ve sayfalarda bir dizi özel meta kutu ekleyebilirsiniz. Genellikle, özel bir meta kutusu, yöneticinin meta posta verilerini eklemesini/düzenlemesini/silmesini sağlayan veri ve formlar alanını içerir (yani özel alanlar, özel ve kötü varsayılan alan kutusunun sınırlamalarının üstesinden gelir.
Bu öğreticide, ekranı düzenle ekranına kendi özel meta kutunuzu nasıl ekleyeceğinizi göstereceğim. Metin alanlarının yanı sıra meta posta verileri hakkında daha fazla kontrol kullanıcısı verecek radyo düğmelerinin ve onay kutularının nasıl ekleneceğini ve yönetileceğini keşfedeceğiz. Not: Bu öğreticideki örnekten ücretsiz eklentiyi indirmek için sayfanın altına gidin. Meta kutusu nedir? Meta kutusu, WordPress’in arkasındaki yayın düzenleme ekranında görüntülenen sürüklenebilen bir kutudur. Kullanıcılar, ana gönderi alanındaki içerik dışındaki Meta kutusunda ek bilgileri seçebilir veya girebilir.
Meta kutusuna girebileceğiniz iki tür veri vardır: meta veri (yani özel alanlar) ve taksonomi terimi. WordPress meta kutusunu eklemek, add_meta_box işlevini yeni bir meta kutu özel eklemek için özel bir amaç sağlar. Add_meta_box, şu anda Meta Sayfalar kutusu yüklendiğinde çalıştırılması gereken dönüş işlevinden çağrılmalıdır. Bu görev, CODEX’te önerildiği gibi Add_meta_box_ {Custom-Post-Type} eylemine geri çağrı yaparak yapılabilir. Bu nedenle, aşağıdaki kodu ana dosya eklentisine veya dosya işlevine ekleyelim.
Bu bizim ilk özel meta kutumuz. Yukarıdaki kodda, Meta kutusu, başlık, dönüş fonksiyonu, özel sevkiyat (gıda), bağlam (yan) ve öncelik (düşük) için add_meta_box: ID işlevine altı argümana devam ediyoruz. Geri arama işlevi HTML işaretlemesini meta kutusuna yazdıracak ve bunu aşağıdaki gibi tanımlayacağız:
Çekirdek 5EBF00A60911F1592F206C079D2D32A1 içerir
Hiçbir HTML basılmadı, ancak meta kutusu zaten yerinde. Öyleyse, bu örneği daha ayrıntılı olarak görelim.
Boş Özel Meta Kutusu

Her şeyden önce, güvenliği korumayı düşünmeliyiz. Nonce alanını üreten WP_NONCE_FIELD işlevini çağırmalıyız, amaç form talebinin mevcut web sitesinden gelmesini sağlamaktır. Dönüş çağrısı işlevine aşağıdaki kod satırını ekleyelim:
Çekirdek 9c206783d31ba436e0fe78ce42bcae62 içerir
Burada, alınan dört argümandan sadece ikisinin işlevini geçtik. Birincisi, eylemin adıdır, burada geçerli dosyanın temel adına ayarlanırken, ikinci argüman gizli alan adının niteliğidir. Nonce alanı mutlak korumayı garanti etmese bile, iyi bir uygulama her zaman herhangi bir özel meta kutuya koymaktır (daha kapsamlı bir açıklama için Codex WordPress’i kontrol edin). Güvenlik ile bitirdikten sonra, Meta Box alanında yönetilmek üzere özel bir alan değeri veritabanından almalıyız. Get_post_meta işlevinin faydalı olduğu yerdir. Örnek eklentimizde (veya işlev dosyasında, bu öğreticide örnekleri nasıl uygulamak istediğinize bağlı olarak) üç özel alan, iki ip ve bir dizi kullanıyoruz. Aşağıdaki kod, veritabanının değerinin nasıl alınacağını göstermektedir:
AB0FF76389EDAF716869AD44F2065BA9’un özünü içerir
Bu örnekte, özel alan sümüklü böceklerinden önce alt satırdır, bu da gizli özel alanlarla uğraştığımız anlamına gelir. Bu şekilde, konjenital özel meta kutusunda yönetici kullanıcılarına görüntülenmeyecekler, ancak yalnızca özel meta kutusundan düzenlenecektir.
Son olarak, işaretleme yazdırmanın zamanı geldi. Alan alanını yazdır şimdi çıktı üretmeliyiz. Yönetici kullanıcılarının bir özel alandan değerleri depolamasına izin veren basit bir metin alanı ekleyerek başlayalım, bu durumda karbonhidratlar:
E0D6A603877AEAE9C2883F3BA022FD8736’nın özünü içerir
Yukarıdaki kodda, özel alanın kendisi geçerli giriş öğesi değerini verir. Bir sonraki özel alan bir çift radyo düğmesi ile işlenecek:
A1EA169D0FC06334FD0DDD8898ADA4F42’nin özünü içerir. Burada işler biraz karmaşık hale gelir. Kontrol edilen işlev, argüman olarak geçtiğimiz iki dizeyi karşılaştırır. Dize aynı değere sahipse, alanı ayarlama işlevi şu anda kontrol edilir.
Son olarak, meta kutusuna bir grup onay kutusu ekleyeceğiz:
Çekirdek 9551197c02f47bb9d0f11c660dbdb2eb içerir
Adı öznitelik değeri dizi öğesine göre ve daha sonra bu, verileri daha verimli bir şekilde depolamamıza izin verecektir. Şimdi, kontrol edilen işlevin ilk argümanını düşünün:

Çekirdek yükleme
Bu, geçerli onay kutusu değerinin $ current_vitamins değerine eşit olup olmadığını kontrol eden üçlü bir operatördür. Durumu doğrulanırsa, aynı değeri döndürür, eğer değilse, boş dizeyi döndürür. Şimdi mantık açık olmalı; Kodu foreach dizisi ve döngüsü ile kısaltabiliriz:
Çekirdek yükleme C759FE14A2F3E98BF97D5372C5C80D66
Ve şimdi her şeyi birleştirebiliriz:
DCBD25EF2AA7CF87C43B549DDBA75C86’nın özünü içerir
Ve bu, tüm alanlarla düzenleme ekranı yayınlamasında bitmiş meta kutusunun görüntülenmesidir:
Gıda Post Tipi için Özel Meta Kutusu
Meta kutusu verilerinin kaydedilmesi hazırdır, ancak veriler depolanamaz. Bu görevi tamamlamak için, gönderiyi kaydederken çağrılacak yeni geri çağrının işlevini tanımlamalıyız:
Çekirdek 8061CA0065635BA9BBFB9EF1830AFD2 içerir

Save_post _ {$ Post_type} Yeni kaydedilen veya güncellendiğinde her $ Post_type her seferinde çalışır.
Şimdi işlevde neler olduğunu görelim. İlk olarak, nonce alanının değerini kontrol etmeliyiz:
Eeebb0d04e3254d1451aa4ad36dfe23’ün çekirdeğini içerir
Nonce alanı ayarlanmazsa veya değer yanlışsa veya süresi dolmuşsa, yürütme durdurulur (WP_VERIFY_NONCE hakkında daha fazla bilgi için WordPress Codex’i kontrol edin). İşlevi otomatik depolama durumunda geçmeyi tercih ediyorsanız, aşağıdaki koşulları ekleyebiliriz: Çekirdeği sevmek 099810F90D5BC72BA298CE4D34C4BDB9
Ardından, kullanıcı özelliklerini kontrol etmemiz gerekir:
BA590C9025A88F8D9F22750A1ED9BD66 CORRAMINI
Son olarak, verileri saklayabiliriz:
Fde3ed89f18ae6aadbec51b525Acc58e’nin özünü içerir
‘Vitaminler’ dizisinin en az bir elemanı varsa, $ vitamin değişkeni uygun değeri depolar. Daha sonra PHP, PHP Array_map işlevi, her dizi öğesine WordPress Sendize_Text_Field Fonksiyonunu uygular. Son olarak, Update_post_meta işlevi yayınlanan değeri tutar. Kontrol edilmesi onay kutusu yoksa, onay kutusu kontrol edilmezse dizi, $ _Post [‘vitaminler’] dizi yoktur ve Delete_post_meta’yı arayarak verileri silebiliriz (daha fazla ayrıntı için Codex belgesini kontrol edin). Ve bu tam kod:
Yükleme Çekirdeği 2849F9040B8688811C3B8555F80AD64
Github’dan indirip kendi web sitenizden test edebileceğiniz veya LocalHost’u yükleyebileceğiniz bir eklentide kodlar topladım. Özel meta kutunun nasıl çalıştığını görünce şimdi sarın, WordPress sitenizin arkasındaki Post düzenleme ekranına her türlü form ekleyebilirsiniz. HTML5, tarihten renkten renk seçmenlerine kadar oynayabileceğimiz bir dizi girdi sunar. JQuery UI Tools ile daha fazla eğlenebilir veya Google Haritalar API gibi çeşitli Web hizmetlerinden verileri birleştirebilir ve özel bir alan olarak saklayabilirsiniz. Bu öğreticideki örnekler yalnızca yayınları düzenleme deneyimini nasıl ayarlayabileceğinizi yüzeyi çizin. Özel meta kutusuna gelişmiş formun bir alanı veya kontrolü eklediniz mi? Şimdi bu tür bir işlevin yararlı olacağı herhangi bir web sitesinde mi çalışıyorsunuz? Bu öğretici veya onu nasıl genişleteceğiniz hakkında sorularınız varsa aşağıdaki yorumlarda bize söyleyin. Etiket: Özel Alan
Özel Meta Kutusu
Özel yazı türü

admin

Bir Cevap Yazın

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