WordPress Özel Alanları Nasıl Oluşturulur ve Kullanılır

Yayınlanan: 2020-04-23

WordPress'in ana avantajlarından biri, yerleşik genişletilebilirlik özellikleri sayesinde mümkün olan çok yönlülüğüdür. Sunduğu farklı uzantı formülleri arasında özel alanlar buluyoruz:

WordPress, gönderi yazarlarının bir gönderiye özel alanlar atamasına izin verme yeteneğine sahiptir. Bu isteğe bağlı ek bilgi, meta veri olarak bilinir.

Meta veriler, anahtar/değer çiftleriyle işlenir. Anahtar , meta veri öğesinin adıdır. Değer , bilginin ilişkili olduğu her bir gönderideki meta veri listesinde görünecek bilgilerdir.

WordPress.org Belgeleri

Örneğin, motor dünyasıyla ilgili kavramlar hakkında meta veriler oluşturmak istiyorsak, aşağıdaki gibi şeylere sahip oluruz:

  • Marka : Ford
  • Model : Odak
  • renk : beyaz
  • Güç : 110hp
  • vb

Bugünkü gönderide size özel alanların nasıl oluşturulacağını, bunların nasıl kullanılacağını ve bir WordPress kullanıcısı ve/veya geliştiricisi olarak size nasıl yardımcı olabileceklerini göstereceğim. Lütfen WordPress'te nasıl kod yazılacağına dair bazı temel bilgilere sahip olmanız gerektiğini unutmayın… ancak özellikle size özel alanlarla çalışmak için harika bir eklentinin nasıl kullanılacağını gösterdiğimde, gönderiyi kolayca takip edebileceğinizi umuyorum: Gelişmiş Özel Alanlar.

WordPress Özel Alanları Nasıl Çalışır?

Özel alanların ne olduğunu ve nasıl çalıştığını anlamanın en iyi yolu WordPress veritabanına bakmaktır. Bildiğiniz gibi, WordPress'te her gönderi, sayfa veya (neredeyse) herhangi bir başka içerik türü oluşturduğunuzda, bu yeni içerik wp_posts (önek değişebilir) adlı bir tabloda depolanır.

Bir veritabanındaki tablolar, daha önce üzerinde çalıştığınız diğer tablolar gibidir. Temel olarak, "ne saklayabileceğinizi" tanımlayan bir dizi sütuna ve belirli bilgileri içeren satırlara sahiptirler. wp_posts durumunda, sütunlar başlık , içerik , yazar , yayın tarihi vb. gibi şeylerdir. Dürüst olmak gerekirse, hiçbir şey fantezi değil:

WordPress veritabanında wp_posts tablosu.
WordPress veritabanında wp_posts tablosu.

Tablo kullanmanın “sorunlarından” biri, içlerinde saklayabileceğiniz bilgilerin sahip oldukları sütunlarla sınırlı olmasıdır. Yeni bir konsept hakkında bilgi depolamak istiyorsanız, bunu yapamazsınız. Peki, tablo zaten ayarlanmışsa, özel alanları nasıl oluşturabilirsiniz? Yeterince basit, sadece bunun için tasarlanmış yeni bir masaya ihtiyacınız var.

Her WordPress veritabanında aşağıdaki gibi wp_postmeta adında başka bir tablo vardır:

WordPress veritabanında wp_postmeta tablosu.
WordPress veritabanında wp_postmeta tablosu.

Bir önceki ekran görüntüsünde görebileceğiniz gibi, meta veri tablosu, meta_key ve meta_value sütunlarını kullanarak anahtar/değer çiftleri oluşturabileceğimiz ve her bir çifti post_id sütununu kullanarak belirli bir içerikle ilişkilendirebileceğimiz şekilde tasarlanmıştır. Yeterince kolay!

Öyleyse bu tabloyla nasıl çalışabileceğimize daha yakından bakalım!

Yeni Özel Alan Nasıl Oluşturulur

Daha önce gördüğümüz gibi, özel alanlar her zaman belirli bir gönderiyle ilişkilendirilir. Bu nedenle, editörde onları düzenlemek için bir çeşit kullanıcı arayüzü beklersiniz, değil mi? Ne yazık ki, Gutenberg'e bir göz atarsanız, hiçbir şey yok…

WordPress düzenleyicide özel alanları düzenlemek için gelişmiş bir paneli etkinleştirmeniz gerekir. Düzenleyicide sağ üst simgeye tıklayın ve ardından Seçenekler'e tıklayın:

Gutenberg ayarları
Gutenberg ayarları.

Bu, Gutenberg'de bulunan farklı panellerle yeni bir pencere açacaktır. Özel Alanlar adlı birini bulun ve etkinleştirin:

Gutenberg'de özel alanlar nasıl etkinleştirilir
Gutenberg'de özel alanlar nasıl etkinleştirilir.

Etkinleştirildiğinde, gönderinizin özel alanlarını kolayca oluşturabilir ve düzenleyebilirsiniz:

Gutenberg'deki özel alanlar
Gutenberg'deki özel alanlar.

Bu basit arayüz, istediğimiz kadar anahtar/değer çifti oluşturmamızı sağlar. Örneğin, yukarıdaki ekran görüntüsünde, bu yazının başında tanıttığım bazı alanları nasıl eklediğimi görüyorsunuz: nelio_brand , nelio_model , nelio_color ve nelio_hp .

Özel Alan Nasıl Kullanılır

Özel bir alanı kullanmak için üç şeye ihtiyacınız vardır: (a) bir gönderinin tanımlayıcısı, (b) kullanmak istediğiniz alanın adı ve (c) nerede kullanmak istediğinize karar vermek. Örneğin, yukarıdaki örnekte oluşturduğumuz nelio_brand alanını bir yazının sonunda görüntülemek istediğimi varsayalım. Değerini almak için aşağıdaki gibi kullanabileceğimiz get_post_meta adında bir fonksiyon var:

 function nelio_add_brand_field( $content ) { $brand = get_post_meta( get_the_ID(), 'nelio_brand', true ); return "{$content}\n<p><strong>Brand:<strong> {$brand}</p>"; } add_filter( 'the_content', 'nelio_add_brand_field' );

Önceki örnekte daha önce bahsettiğim üç şeyi ele aldığımıza dikkat edin:

  • get_post_meta ilk parametresi, tam olarak ilgilendiğim gönderinin tanımlayıcısıdır. Bu durumda, geçerli gönderinin kimliğini döndüren get_the_ID() kullanırız.
  • İkinci parametre meta alanımızın adıdır (bu durumda nelio_brand ).
  • Son olarak, gönderi içeriğinin en sonunda göstermek istediğimiz bir şey olarak ön uçtaki meta alanını kullanıyoruz. Ve bunu anlayabilirsin çünkü onu the_content filtresi sırasında alıyorum ve kullanıyorum.

Bunu yapmanın sonucu, aşağıdaki ekran görüntüsünde gördüğünüze benzer bir şeydir:

İçeriğinden hemen sonra özel bir alan gösteren bir gönderinin ekran görüntüsü.
İçeriğinden hemen sonra özel bir alan gösteren bir gönderinin ekran görüntüsü.

Ama bu sadece bir örnek tabii ki! Özel alanları "ön uçta bir şeyler yazdırmak" dışında birçok şekilde kullanabilirsiniz. Örneğin, Nelio A/B Testi, oluşturduğumuz eklentilerden biridir ve bir WordPress sitesinde bölünmüş testler yapmak üzere tasarlanmıştır. Bir A/B Testi, alternatif içeriğin oluşturulmasını gerektirir ve eklentimiz, alternatif içeriği bu şekilde etiketlemek için özel alanlar kullanır ve bu içeriğe bir ziyaretçi tarafından nasıl ve ne zaman erişilebileceğini sınırlar.

Özel Alanları Yönetmek için WordPress İşlevleri

Özel bir alanın ( get_post_meta ) değerini almak için bir yöntemimiz olduğu gibi, WordPress'in özel alanları programlı olarak oluşturmak, güncellemek ve silmek için ek yöntemleri vardır: add_post_meta , update_post_meta ve delete_post_meta . Bu işlevler beklediğiniz gibi çalışır, bu yüzden daha fazla açıklama ile sizi rahatsız etmeyeceğim…

Gelişmiş Özel Alanlar nedir ve nasıl kullanılır?

Artık WordPress'te özel alanların nasıl çalıştığını bildiğinize göre, sanırım size şimdiden iyi haberi verebilirim: Özel alanlarla çalışma sürecini büyük ölçüde basitleştiren birkaç eklenti var!

Bir WordPress sitesinde meta veri oluşturmak için en iyi bilinen ve en çok oy alan eklentilerden biri Gelişmiş Özel Alanlar'dır. Bununla, sadece özel alanları daha basit bir şekilde tanımlamakla kalmayacak, aynı zamanda bu alanlarla başa çıkmak için geliştirilmiş bir kullanıcı arayüzünün keyfini çıkarma olanağına da sahip olacaksınız. Bu arayüz, belirlediğiniz değerlerin anlamlı olmasını ve anlamsal olarak anlamlı olmasını sağlar: tarihler, resimler, galeriler, aralıklar, sayılar… adını siz koyun!

Gelişmiş Özel Alanlar eklentisinin ekran görüntüsü
Gelişmiş Özel Alanlar eklentisinin ekran görüntüsü.

ACF hakkında daha fazla bilgi edinmek istiyorsanız, orada birçok kaynak var. Ama bence Jo Minney'nin bu konuşması gerçekten başlamanıza yardımcı olabilir:

Özel alanlara yönelik bu küçük girişin, daha iyi bir WordPress geliştiricisi olma yolunda size yardımcı olacağını umuyoruz!

Unsplash'ta Polina Rytova'nın öne çıkan görseli.