Özel meta kutusuna yüksek oranda ayarlanmış bir yazı türü yapın
Son yıllarda, WordPress gerçekten eksiksiz bir içerik yönetim sistemine dönüştü ve bazı işlevlerini gerçekten yayınladığınızda, WordPress’in neredeyse tüm web sitelerini desteklemek için kullanılabileceğini fark ediyorsunuz. Eureka’nın bir müşteri onu sipariş sistemini uyandırmamı istediğinde geldiğim an. Tarihsel olarak, temsilcilerden tıbbi ekipman emirleri aldı ve tüm belgeleri manuel olarak gerçekleştirdi. Daha sonra tüm gün telefonda geçirecek ve hem yeni siparişler vermek veya mevcut siparişlerin durumunu kontrol etmek için temsilcilerin çağrılarını yanıtlayacak.
Peki, tüm siparişlerini girebileceği bir web sitesi oluşturarak tüm bunları değiştirmeye çalıştı ve müvekkili daha sonra durumlarını isteyerek kontrol edebilir ve hatta sipariş yeni bilgilerle güncellendiğinde bir e -posta güncellemesi alabilir. Fikir şu ki, tüm gün telefonda geçirmek, yönetici işi yapmak yerine işini gerçekten geliştirmek için daha fazla zamanına sahip olacak. Soruna özel gönderme cevaplarının türü özel yayınların gücünde yatmaktadır. Standart WordPress sitesinde iki tür yayın vardır: yayınlar ve sayfalar, ancak istediğiniz kadar ekleyebilirsiniz. Sitenizde, etkinlikler, gayrimenkul listeleri, ürünler veya kayar çubuklar gibi şeyleri destekleyen temalardan veya eklentilerden bile olabilirsiniz.
Bu durumda, sipariş için özel bir yazı türü yapmam gerekiyor. Bu, müşterilerini görmek için her sipariş için ön uçta görüntülenecek bilgileri tutacaktır. Bir tür özel yazı yapma sürecini tartışmayacağım, çünkü başka bir öğreticide tartıştım: özel yazı türünü kaydetmek. Burada tartışmak istediğim, verilerinizi nasıl yöneteceğiniz ve ihtiyaçlarınıza göre görüntüleyeceğinizdir. Örneğin, standart WordPress editörleri bu siparişi kaydetmek için uygun değildir, çünkü hasta adları, sipariş numaraları ve her ikisinin de ön ucunda çağrılması gereken siparişler gibi siparişleri oluşturan tüm küçük bilgiler için bireysel alanlara sahip değildirler. Site ve dosyadaki temsilcilere e -posta. Özel meta kutusunun girdiği yer burasıdır. Özel meta kutusu, belirli bilgileri saklamak için düzenleyicinizde yeni bir “pencere” oluşturmanıza olanak tanır. Dolayısıyla, Editör Post’un yayın içeriğiniz için büyük bir kutusu olsa da, özel yayın türünüz için buna ihtiyacınız olmayabilir, çünkü özel yayınlarımla yapmıyorum. Bu nedenle, özel bir yazı türü kaydettiğimde editörü kapattım, bu yüzden aşağıda göreceğiniz gibi veri giriş ekranını tamamen kontrol ediyorum. Meta Özel Özel Meta Kutuları Kutu, bu meta kutusunu çok kolay hale getiren işlemi çok kolay hale getiren bir komut dosyasıdır. Buna ek olarak, bu birkaç tür daha karmaşık alan alır (renk seçmenleri, tarih seçmenleri ve wysiwyg editörü gibi) ve sizin için tüm kodlamaları yapın, bu yüzden tek yapmanız gereken ne tür bir alan yapmanız gerektiğini belirlemektir ve büyülü.
Temanıza veya eklentinize eklemek çok kolay bir işlemdir. Tek yapmanız gereken GitHub’ın deposundan dosyaları indirmek ve bunları kendi tema klasör yapınıza kopyalamaktır. Daha iyi bir kuruluş için dosyaları kütüphaneye koymanızı veya bir klasör içermenizi öneririm. Eklentimde, tüm dosyaları/wp-content/eklentileri/my-plugin/come/metabox/adresine yükledim. Tüm dosyalar ve klasörler seçtiğiniz konuma yüklendikten sonra, bunları “etkinleştirmek” ve kullanılabilmesi için yapmanız gerekir, eklentinizden init.php’yi girmektir. Örneğin, örneğimde, aşağıdaki işlevler/inspors/metabox/: function be_initialize_cmb_meta_boxes () {if (! Class_exists (‘cmb_meta_box’) .php ‘) klasöründeki Init.php’yi çağırmak için aşağıdaki işlevler dahil edilmiştir. ; }} add_action (‘init’, ‘be_initialize_cmb_meta_boxes’, 9999); Şimdi komut dosyası tarafından sağlanan işlevleri gerçekten kullanacak bir konumdasınız. Sample-fonction.php, komut dosyasının nasıl çalıştığını öğrenmeye başlamak için iyi bir yerdir. Bu, komut dosyasının izin verdiği her alan türünü girmek için gereken bir sözdizimi örneği verir. Seçebileceğiniz alan türleri şunları içerir:
Başlık (Meta kutunuzu gösterge tablosuna ayarlamak için)
Metin (küçük, orta ve büyük)
Tarih Seçmen (Standart veya Unix Saat Damgası)
Para birimi
Metin alanı (küçük ve büyük)
römorkör
Radyo düğmeleri (satırlar ve standart)
Onay kutusu (tek ve çift)
Wysiwyg Editör
Taksonomi (açılır, onay kutusu veya radyo düğmesi)
Dosya yükleyicisi
Dosya Listesi
Yalnızca hangi bilgileri kaydetmeye çalıştığınıza ve hangi alan türünün her durum için en iyisi olduğuna karar vermeniz gerekir. Bu komut dosyasını size göstermek için, daha önce bahsettiğim sipariş sisteminden daha basit bir örnek kullanacağım, çünkü daha karmaşıktır. .Kısa süre önce, yöneticinin uyarı başlığını, önceliğini, uyarı açıklamasının ve bunun üstesinden nasıl geleceğimi belirleyebileceği basit bir uyarı sistemi yaptığım bir eklenti yazdım.Bunu halletmek için, açıklama ve çözünürlük yazmak için Wysiwyg’in önceliğini ve editörünü ayarlamak için uyarı başlığı için yazı başlığını kullanıyorum (nokta ve metin biçimlendirme listesi gibi kolay zengin düzenlemeye izin vermek).
Aşağıdaki işlev, bunu başaran tüm kodlardır: Örnek fonction.php dosya biçimini izlediğini not edersiniz. Kodun her bölümünü şu şekilde açıklayacağım: işlev twpb_alarts_metaboxes ($ meta_boxes) {$ prefix = ‘twpb_alert_’; // $ meta_boxes [] = array (‘id’ => Alert_metabox ‘,’ başlık ‘=> uyarı bilgileri’, ‘sayfalar’ => dizi (‘twpb_alerts’), // yayın türü ‘bağlam’ = “=” > ‘normal’, ‘öncelik’ => ‘yüksek’, ‘show_names’ => true, // sol ‘alanlar’ => dizi (‘name’ => ‘öncelik’, ‘desc’ dizisi gösterme alan adlarını göster => ”, ‘id’ => $ öneki. ‘Öncelik’, ‘type’ => ‘Radio_inline’, ‘Seçenekler’ => Array (‘ad’ => ‘yüksek’, ‘değer’ => ‘ yüksek ‘,), dizi (‘ name ‘=>’ orta ‘,’ değer ‘=>’ orta ‘,), dizi (‘ name ‘=>’ düşük ‘,’ değer ‘=>’ düşük ‘,),) ,), Dizi (‘name’ => ‘sorunun açıklaması’, ‘desc’ => ‘Sorunun ne olduğuna dair bir açıklama girin.’, ‘İd’ => $ öneki. ‘Açıklama’, ‘type’ => ‘wysiwyg’, ‘options’ => dizi (‘textarea_rows’ => 5,),), dizi (‘name’ => ” önerilen çözünürlük ‘,’ desc ‘=>’ kullanıcılara sorunu çözebileceklerini bilgilendirin. ‘,’ id ‘=> $ öneki.’ çözünürlük ‘,’ type ‘=>’ wysiwyg ‘,’ seçenekler ‘=> dizi (‘ textarea_rows ‘=> 5,),),); Dönüş $ meta_boxes;
} add_filter (‘cmb_meta_boxes’, ‘twpb_alarts_metaboxes’); 2. satırda, diğer eklentilerle çatışmaları önlemek için özel bir alana benzersiz bir önek ayarladım ve 4. satırda, kontrol panelinde özel bir yazı türünde görünecek Metabox’a benzersiz bir kimlik verdim. Satır 5 Metabox başlığını ayarlayın ve satır 6 Bu Metabox’u görüntülemek için özel yazı türünü ayarlayın. Bu bir dizi olduğundan, isterseniz gönderiler ve sayfalar da dahil olmak üzere istediğiniz birçok yayın türüne koyabilirsiniz. Bu örnekte, sadece üç alan vardır (sıralar 11-21, 22-28 ve 29-35). Her alan alan hakkında temel bilgiler, alan için benzersiz kimlik ve açıklama ve bazı uygun seçenekler içerir. Daha sonra satır 39, Metabox’un görünümünü yapar ve satır 41, işlevini işleyecek şekilde başlangıçta yüklediğimiz komut dosyasına bağlar. SONUÇLAR? Peki bu nasıl? Editör penceresinde, şöyle bir şey alacaksınız:
Bu yüzden şimdi Metabox oluşturmanın ve ihtiyaç duyulan bilgileri toplamak için farklı alan türlerini kullanmanın yollarını belirledik. Şimdi ön uçta göstermemiz gerekiyor.
Bilgi bilgilerini artık veritabanındaki her yayında saklanıyor. Ancak onu aramadıkça, sadece veritabanında kalacak ve işe yaramaz kalacaktır. Bilgi görüntülemek için, veritabanından belirli yayınlar için meta yayınlar alan Get_Post_Meta işlevini kullanmamız gerekir. Bu basit örneği almak için, kaydettiğimiz her bilgiyi (öncelik, açıklama ve çözünürlük) çekmek için üç ayrı örnekte get_post_meta işlevini kullanabiliriz.
Öncelik: id, ‘twpb_alart_priority’, true); ?>
Açıklama
id, ‘TWPB_ALERT_DESCRIPTION’, true); ?>
çözünürlük
id, ‘twpb_alart_resolution’, true); ?> Her durumda, almak istediğimiz meta verilerin her bir bölümünün yayınlarına ve benzersiz kimliğine devam ediyoruz (önceki işlevde ayarladığımızı unutmayın). Bu daha sonra bu çizgi boyunca ön uçta sonuçlar üretecektir: