Orta Kullanıcılar için WordPress Geliştirme: Özel ve Meta Veri alanları

WordPress’teki sayfa içeriği ve varsayılan yayın türleri birçok web sitesi için yeterlidir, ancak WordPress’in CMS olarak gücünden gerçekten yararlanmak istiyorsanız, özel alanlar ve meta veriler hakkında bilgi edinmeye başlamanın zamanıdır. Bu, orta kullanıcılarımız için WordPress geliştirme serisindeki altıncı gönderi. Bu dizi, sizi WordPress ile geliştirmenin temellerini, PHP ile kodlamaya ve temalar ve eklentiler oluşturma ile tanışan WordPress için yeni başlayanlar geliştirmek için popüler öğreticimizi takip ediyor. Bu seride, WordPress’te meta veriler veya sıklıkla bilinen özel alanlar da dahil olmak üzere meta verilerin nasıl oluşturulacağı ve görüntüleneceğine odaklanacağız. Öğreneceksiniz:
Meta veri nedir ve WordPress’te nasıl kullanıldığı.
Gönderinize özel bir alan nasıl eklenir ve görüntüleyin.
Özel Post/Alan Meta Verileri için Özel Metabox Nasıl Yapılır.
Kullanıcı meta verileri de dahil olmak üzere temanızdaki diğer meta veri türlerini nasıl görüntülenir.
Sıkışalım. Orta kullanıcılarımız için WordPress Geliştirme Serisindeki öğreticiyi özlüyor musunuz? Yedi yazıyı buradan takip edebilirsiniz:
Orta Kullanıcılar İçin WordPress Geliştirme: Ayrıntılı Tema Geliştirme
Orta Kullanıcılar İçin WordPress Geliştirme: Temalarınızı Hazırlayın
Orta Kullanıcılar için WordPress Geliştirme: Eklentiler Oluşturma
Orta Kullanıcılar için WordPress’in Geliştirilmesi: Özel Gönderinin Türleri ve Taksonomisi
Orta Kullanıcılar İçin WordPress Geliştirme: Perde ve Tekrarlama
Orta Kullanıcılar için WordPress Geliştirme: Özel ve Meta Veri alanları
Orta kullanıcılar için WordPress’in geliştirilmesi: uluslararasılaşma
Bu doğru, WPMU dev üyelerinin WordPress’te meta verilerin ne olduğunu öğrenmeleri için ücretsiz olarak çok fazla WordPress bilgisi, akran incelemesi, eğitmen geri bildirimi ve sertifika? Meta verileri tanımlayarak başlayalım. Tam olarak nedir? Wikipedia meta verileri şu şekilde tanımlar: “… diğer veriler hakkında bilgi sağlayan veriler.” WordPress’te bu, meta verilerin yayınları (her türden), yorumları, kullanıcıları ve taksonomi terimlerini içeren temel içerik hakkında veri olduğu anlamına gelir. Bunu tanımlamanın kolay yolu, aşağıdaki şemada görebileceğiniz veritabanı yapısına bakmaktır: veri için dört veritabanı tablosu vardır:

WP_Posts: Her tür gönderim için (sayfalar, ekler ve özel gönderiler dahil)
WP_Comments: Yorumlar için
WP_USERS: Kullanıcılar için
WP_TERMS: Taksonomi terimi için
Her birinin ilgili veri türleri hakkında meta veriler için uygun bir tablası vardır:
Meta veri gönderileri (veya özel alanlar) için wp_postmeta
Meta veri yorumları için wp_commentmeta (örneğin, Akismet gibi yorum eklentisi tarafından eklenen veriler)
Kullanıcı meta verileri için wp_usemeta (örneğin gösterge tablosunun rolü ve ayarı)
Meta veri taksonomi terimleri için wp_termmeta (örneğin terimin açıklaması).
Bu aşamada tüm bunlar hakkında çok fazla endişelenmenize gerek yok – veritabanı, yaklaşan Akademi kurslarımızda, ileri kullanıcılar için WordPress geliştirmede daha derinden tartışılacak. Bilmeniz gereken şey, meta verilerin orada olması ve okumaya devam edip etmediğinizi bileceğinizdir.
Özel alanlar eklemek ve görüntüleme özel alanlar eklemek çok basittir, ancak temanız üzerine birkaç kod yazmayı veya eklentilerden bağlamayı içeren görüntülenir. İkisini de görelim. Özel Alanlar Ekleme Meta veri gönderisi eklemenin en kolay yolu, Posta ekranında varsayılan özel alan arayüzünü kullanmaktır. Demo sitesindeki bu seri ile kullandığım yayınlardan biri: Adını (veritabanında anahtar olarak saklanır) ve değer (değer olarak depolanır) yazma kadar kolay özel bir alan ekleyin:
Ekledikten sonra, bu adı yazı ve diğerlerinde ek alanlar için tekrar kullanabilirsiniz.

Özel alanları gösterme Özel alan değerinizi görüntülemek istiyorsanız, temanıza biraz kod eklemeniz gerekir. Veya temanızda bir kanca varsa, bu seride yapmayı öğrendiğiniz eklenti üzerinden kancayı kullanarak ekleyebilirsiniz. Temamızdaki tek bir yazı şablonuna özel bir alan görünümü ekleyelim. Temanızda bir gönderi için bir döngü görüntüleyen bir şablon dosyası açarak başlayın. Bu seride yaptığımız temada Loop-Single.php. Henüz yapmadıysanız, Sürüm 5 temasını GitHub’daki kaynak dosyadan indirebilirsiniz.

Not: Kendi temanızla çalışıyorsanız, farklı bir şablon dosyasında çalışmanız gerekebilir. Temanız için burada ne yaptığımı ayarlayın.
Loop-single.php dosyanızda şu kodu bulun:
B3D917560623CF00098091EB24624985’in özünü içerir
Yeni koşullu etiketlere gönderme gönderisini girmemiz gerekiyor. İlk olarak, ek etiketler ekleyelim. Kodu şöyle olacak şekilde düzenleyin: B3D917560623CF00098091EB24624985’in özünü içerir
Ayrıca, div’de the_meta () işlevini ekleyin:
B3D917560623CF00098091EB24624985’in özünü içerir
Dosyanızı kaydedin ve özel alanlar eklediğiniz yayınları görün. Bu şimdi mükemmel görünmeyecek, ancak Meta sonrası sınıfı kullanarak serinin başında özel yazı türü için hazırladığımız stile eriştiniz. Puanları silmek ve marj ve dolgu değiştirmek istiyorum, bu yüzden stil sayfasında bazı değişiklikler yapacağım. Bu serinin kaynak dosyasında bulabilirsiniz.
Bu benim son sürümüm:
İhtiyacınız olan herhangi bir stili ekleyebilirsiniz. Cesur bir stil eklemek için özel alanın adına otomatik olarak yerleştirilen span etiketini kullandığımı unutmayın. Her gönderide post meta verilerinizin görüntülenme şekli üzerinde daha fazla kontrole sahip olmak istiyorsanız, get_post_meta () işlevini kullanabilir ve ardından sonuçları yankılayabilirsiniz. Bunu özel alanlarla çalışma hakkındaki yazımızda çalıştırabilirsiniz ve daha sonra bu seride tartışacağım. Özel bir alan arayüzü kullanarak meta gönderme için özel bir metabox yapmak iyidir, ancak bu size çok fazla kontrol vermez ve kullanıcılarınızın hata yapmasına neden olabilir. Meta post alanının değerini çeşitli seçeneklerle sınırlamak ve kullanıcıların kendinizi yazmasına izin vermemek istiyorsanız ne olur? Yoksa tutarlılık için Meta Post’un birkaç alanı ayarlamak mı istiyorsunuz?
Bunu yapma şekliniz, add_meta_box () () kullanarak düzenleme ekranında bir metabox oluşturmaktır. Bu işlevin en az yedi parametresi yoktur: B3D917560623CF00098091EB24624985’in özünü içerir
Parametreler:

$ ID: Meta kutunuzu içeren Div’e CSS kimliği ekleyin
$ Title: Gönderinin Gönderi sayfasında gösterildiği gibi meta kutu adı
$ geri arama: meta kutunuz için HTML içeren işlev adı
$ Post-Type: Bu meta kutuyu sağlayacak içerik türü (herkes için boş bırakın)
$ Bağlam: Meta kutusunun düzenleme sayfasında nerede görüntülenmelidir – ‘normal’, ‘gelişmiş’ veya ‘taraf’
$ Öncelik: Meta kutunuzu görüntüleme öncelik seviyesi – ‘yüksek’, ‘çekirdek’, ‘varsayılan’ veya ‘düşük’. Standart (şaşırtıcı değil) ‘varsayılan’; Diğer meta kutunun üzerine taşımak için ‘yüksek’ kullanın.
$ callback_args: Arka arama işlevinize iletilecek argüman. Bu, işleviniz otomatik olarak dönüş çağrısı işlevine iletilen $ POST dışında bir bağımsız değişken gerektiriyorsa gereklidir.
Bunu yapmak için kendi işlevlerimizi yapalım, bu da tüm bu parametrelerin daha mantıklı olmasına yardımcı olacak. Bir meta kutusu ekleyecek ve temamdaki kancadan eklenenleri gösterecek yeni bir eklenti oluşturacağım.
Bu yüzden yeni bir eklenti yaparak ve üstte sıradan yorumlar metni ekleyerek başlayın. Metabox’u ilk adım yapmak, Metabox yapan bir işlev yazmaktır. Eklentinize şunu ekleyin:
B3D917560623CF00098091EB24624985’in özünü içerir
Bu, aşağıdaki parametrelerle Metabox’u düzenler:
Wpmu_metabox’tan kimlik
‘Daha fazla ekle’ başlığı
WPMU_metabox_callbackitu adlı çağrının dönüş fonksiyonu, gönderme türünde görüntülenecektir.
Normal konum (yani solda ve yükseklik (ana düzenleme panelinin hemen altında).
Eklentinizi önce kaydetmeye çalışmayın: bir dönüş işlevi yapmanız gerekir veya WordPress hatalar getirecektir.
Bir form olan yayının düzenleme ekranında neler görüntüleneceğini tanımlamak için geri dönüş işlevine geri dönme işlevi oluşturma. Belirli meta anahtar değerlerini görüntülemek için get_post_meta () işlevini kullanmanız gerekir. Bunu eklentinize ekleyin:
B3D917560623CF00098091EB24624985’in özünü içerir
Bakalım ne yapıyor:
Bu form öğesini açar.
Kullanıcınız tarafından görülmeyecek ancak güvenliğe yardımcı olan nonce alanını ekledi: kullanıcıların bu metabox’u meta veriler eklemek ve yapmaması için kullandıklarından emin olmak için meta veriler depolanmadan önce kontrol edilecektir. diğer yol.
Bu, yeni WPMU_Weather alan değerini almak ve bu değeri $ hava durumu değişkenine ayarlamak için get_post_meta () kullanır.
Alanımız için bir masa oluşturuyor.
Değeri değişken $ hava durumu olan bir alan oluşturur.
Form öğesini kapatır
Şimdi eklentinizi kaydedin ve sitenizdeki gönderme ekranını görün (önce eklentiyi etkinleştirdiğinizden emin olun).
Bu benim:
WPMU_Weather alanının da aşağıdaki özel alana eklendiğini göreceksiniz. Kafa karıştırıcı olabilir, bu yüzden hemen düzelteceğiz. Metabox’a bir şey yazıyorsanız, saklanmayacaktır. Çünkü hala buna işlevler eklememiz gerekiyor. Meta verilerini saklamak için işlevler ekleme Şimdi üçüncü işlevi ekleyin: B3D917560623CF00098091EB24624985’in özünü içerir
Hadi bu işlevde yürüyelim:
Bu, nonce’nin ayarlandığını kontrol eder, bu yalnızca kullanıcı Metabox kullanarak yeni bir değer girmişse gerçekleşir.
Bu, kullanıcıların şu anda edit_post yeteneğine sahip olup olmadığını, başka bir deyişle, bunu yapmalarına izin verilip verilmediğini kontrol eder.

Bu, yeni değerin alanımıza eklenip eklenmediğini kontrol eder.

Eğer öyleyse, eski değeri yeni bir değerle değiştirir ve veritabanına kaydeder.
Şimdi değeri alanınıza eklemeye çalışın ve yayınınızı kaydedin:
İşe yarıyor. Şimdi sitedeki görünüme bakalım:
İyi görünmüyor. WPMU_Weather alanı için adını kullandığımız için, daha kullanıcı dostu bir şey değil, okumak çok iyi değil. Adını değiştirerek düzeltebiliriz, ancak bir Sufix ile benzersiz bir isim kullanmamayı tercih ederim. Öyleyse meta verilerin serbest bırakılma şeklini değiştirelim. Meta verileri daha fazla denetimle vererek meta veri çıkışına daha fazla kontrol eklemek için, Get_the_meta () işlevini kullanarak the_meta () daha birkaç içerikle değiştiriyoruz. Bunu eklentimize ekleyelim ve daha sonra temamızdaki WPMU_AFTER_CONCENT HOOK üzerinden etkinleştirelim. Temanız içerikten sonra eylem kancaları yoksa bir tane ekleyin. Serinin ilk bölümünde bunu nasıl yapacağınızı öğrenirsiniz. Eklentinizde şu işlevi ekleyin: B3D917560623CF00098091EB24624985’in özünü içerir
İşlevler budur:
Bu, bir gönderide olup olmadığımızı kontrol eder.
Eğer öyleyse, get_post_meta () kullanarak değerli $ hava durumu tanımlar. Mevcut gönderiden bir kimlik almak için, bir dairede olmadığımız için get_the_id () kullandığımı unutmayın.
Bu daha sonra bir div ve listesiz bir liste yaptı ve ilk liste öğesinde bir aralık ve ardından $ hava durumu değeri yayınladı.

İşlevi WPMU_AFTAN kancasına ekler. Öncelik 5’i kullandım, bu yüzden bu kancaya taktığım diğer şeylerden önce görüntüleniyor.

WordPress ile aynı sınıfı the_meta () işleviyle kullandığım için düzenleme iyi işlev görüyor. İsterseniz, bu stili eklentinize ekleyebilirsiniz. Kaynak dosyadaki demo eklentisi, bu seride daha önce öğrendiğiniz teknikleri izleyerek yaptığım boş bir stil sayfasına sahip – kendi stilinizi eklemekten çekinmeyin. Bu benim sitedeki metabox’um: Şu anda MetaData-i ile iki kutu var, temadaki ilk kod hakkında yorum yapacağım, böylece referanslar için hala var, ancak hiçbir şey üretmiyor. Kendinizi silmek isteyebilirsiniz. Özel alan arayüzünü gizleme yeni özel meta veri alanımızın yeni yazı düzenleme ekranımızda ve özel arayüzümüzde iki kez göründüğünü fark ettik. Bu sorunu çözmek için özel alan arayüzünü gizleyelim. Eklentinize şunu ekleyin:
B3D917560623CF00098091EB24624985’in özünü içerir
Şimdi gönderinizin düzenleme ekranını ziyaret ederseniz, görebileceğiniz tek şey eklediğiniz Metabox’tur:
Bize daha fazla kontrol sağlar – kullanıcılar yalnızca yaptığımız meta veri alanına erişebilir. Şimdiye kadar diğer meta veri türlerini gösteren, post meta verilere (veya özel alanlara) odaklandık. Ancak WordPress ayrıca diğer içerik türleri için meta verileri, yani kullanıcılar, yorumlar ve taksonomi şartları için de saklar. Term_description () işlevini kullanarak, arşiv sayfasındaki terim açıklamasını görüntülediğinizde, bu serinin dört bölümünde birkaç meta veri terimini nasıl görüntüleyeceğinizi öğrendiniz. Aşağıdaki görünüm:
Kullanıcının meta verilerine bakalım. Bu, rolü ne olursa olsun, tüm site kullanıcılarınız hakkında bir meta veredir, ancak en yaygın kullanım yazar hakkında bilgi sağlamaktır. Sitenizdeki her yazar kendi yazar arşiviniz olacaktır ve kullanıcı meta verilerini ekleyerek yazar hakkında okuyucu hakkında bilgi verebilirsiniz. Yazarın meta verilerini bir gönderiye de ekleyebilirsiniz. Loop-single.php şablon dosyamıza, gönderme tarihi hakkında bilgi içeren birkaç post meta veriye ekleyelim. Temanızda Loop-single.php dosyasını açalım.

öğelerini bulun.
Altında şunu ekleyin:
B3D917560623CF00098091EB24624985’in özünü içerir

Dosya ‘yı kaydet.
Bu, yazarın adını ve gönderiyi yazma tarihini gösterir. Koşullu etiketler eklediğim için, bu sadece bir projede değil, bir projede yapılır. Not: Şimdi Loop-Single.php dosyamızda iki koşullu etiket olduğunu fark etmiş olabilirsiniz. Her yazı türü için bu dosyanın farklı bir sürümünü oluşturmayı tercih edebilirsiniz. Şablon hiyerarşisi hakkında bu dizinin ilk bölümünde öğrendiklerinizi kullanarak bunu nasıl yapacağınızı öğrenebilmelisiniz. Yazar ve şu anki tarih sitemde görüntüleniyor:
Yazarın arşiv sayfasına bir bağlantı ekleyerek biraz daha kullanışlı hale getirelim. Bunu_author () etiketini_author_posts_link () ile değiştirerek yaparsınız. Kodunuzu şöyle görünecek şekilde düzenleyin:

B3D917560623CF00098091EB24624985’in özünü içerir

Şimdi yazarın adı bir bağlantı ile görüntüleniyor:
Ekstra Zorluklar: Taksonomi terimini sergileme Taksonomi terimiyle ilgili meta verileri de gösterebilirsiniz – bu serinin başında öğrenmeyi hatırlamanız gerekir. Neden önceki bölümde öğrendiklerinizi Loop-single.php dosyanızda özel taksonomi ile çalışma ve tek bir yayın sayfasına yayınlamak için taksonomi terimini eklemeye çalışmıyorsunuz? Bunu ayrıntılı olarak tartışmayacağım, ancak size bazı talimatlar vereceğim: Taksonomi terimi için, bu serinin önceki bölümünde kullandığınız get_the_term_list () kullanmalısınız.
Kategori için get_the_category_list () kullanabilirsiniz – kullanımı daha kolay olduğu için get_the_term_list () kullanmayı tercih etmeme rağmen.
Etiketler için get_the_tag_list () veya get_the_term_list () kullanın.
Bunu yapmaya sıkışmışsanız, kaynak kodunu kontrol edin. Ayrıca meta verime birkaç stil ekledim. İşte burada:
Gönderinize istediğiniz meta verileri eklemek ve benden daha yaratıcı ayarlamaktan çekinmeyin! Meta veriler, veri meta verilerinize ekstra katman ekledi WordPress hakkındaki verileriniz üzerinde daha fazla kontrol elde etmenin başka bir yoludur. Kullanıcılar, yorumlar, taksonomi terimi ve kendisi hakkında ek bilgi için kullanın ve daha sonra istediğiniz gibi temanıza veya eklentinize koyabilirsiniz. Bu seride, meta verilerin ne olduğunu ve direğe eklemek için Metabox’un nasıl yapılacağını öğrendiniz. Ayrıca bir yazı hakkında diğer meta veri türlerini nasıl göstereceğinizi de öğrendiniz. Neden temanızda daha fazla meta veriyi denemeye çalışmıyorsunuz?
Bu öğreticinin yararlı olduğunu düşünüyor musunuz?Neden WordPress gelişimini öğrenmek istiyorsunuz?Daha fazla bilmek istiyorsun?Bize aşağıdaki yorumlarda anlatın.

admin

Bir Cevap Yazın

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