WordPress Özel Alanlarına Başlarken

Yayınlanan: 2021-01-19

WordPress Özel Alanları, genellikle ihmal edilen gerçekten harika bir özelliktir. Tüm sayfalarda veya gönderilerde tekrarlanan sayfanızın veya yayınınızın bir alanına 'meta veriler' eklemenize olanak tanır. Aynı türden bilgileri birden çok sayfada yayınlamak istediğiniz bir web siteniz varsa, bu size çok zaman kazandırabilir.

Örneğin, WordPress web sitenizdeki normal bir blog gönderisine bakın. Muhtemelen sayfada bir yerde bir yazar adı ve makalenin ne zaman yayınlandığını gösteren bir tarih göreceksiniz. Bu meta veridir ve web sitenizdeki her gönderide görünecektir.

Peki, yazılarınıza veya sayfalarınıza kendi meta verilerinizi nasıl ekleyebilirsiniz? Kolay… bir WordPress özel alanı kullanmak!

Elbette bu bilgiyi her gönderiye sayfa/gönderi düzenleyici aracılığıyla manuel olarak ekleyebilirsiniz, ancak bu hem zaman alıcıdır hem de tüm gönderilerin aynı görünmesini sağlamak istiyorsanız genellikle dikkatli biçimlendirme gerektirir. Çok fazla içerik yayınlıyorsanız, her seferinde bunu yapmak yorucu olabilir.

WordPress sayfası ve gönderi düzenleyicileri, bir sayfada veya gönderide görünen temel içerik söz konusu olduğunda, kutudan çıktığı anda birçok işlevsellik ve esneklik sunar. Ancak, WordPress'in kullanıcılara ana gönderi veya sayfa içeriğinin 'dışında' yer alan içerik eklemenin bir yolunu da sağladığını biliyor muydunuz? Bu makalede, hem gönderilerinizi daha iyi düzenlemenize hem de okuyucularınız için harika görünen bir biçimde faydalı bilgiler eklemenize yardımcı olacak WordPress özel alanlarının nasıl kullanılacağını hızlandıracağız.

Başlayalım!

Özel Alanlar ve Meta Veriler nedir?

Gönderiler, sayfalar, kullanıcılar, yorumlar ve özel gönderi türleri gibi içerik, bir anahtar/değer çiftinde postmeta tablosunun altında veritabanınızda depolanan meta verileri içerir.

Yönetici adı, tarih veya yorum sayacı gibi bir gönderi veya sayfa başlığının altında genellikle gördüğünüz bilgiler gönderinin meta verilerine dahil edilir.

Özel alan, gönderiniz için ek bilgiler ekleyebileceğiniz ek bir alandır ve ayrıca gönderinin meta verilerinin bir parçasını oluşturur.

Özel alanlar Sayfalar, Gönderiler veya Özel Gönderi Türleri için geçerlidir ve ayrıca anahtar/değer çiftlerinden oluşur. Anahtar, meta veri öğesinin 'adı'dır ve değer, anahtarla ilişkilendirilen ve her gönderi için farklılık gösterebilen verilerdir.

WordPress'te, yerleşik özel alan özelliğini kullanarak özel alanlar ekleyebilir veya özel bir alan üzerindeki kontrolü daha da geliştirecek özel bir alan eklentisi kullanarak bunu bir adım daha ileri götürebilirsiniz. Bu makalede her iki seçeneğe de bakacağız.

WordPress Özel Alanlarını Kullanarak Özel Alanlar Ekleyin

Yerleşik WordPress Özel Alanlar ayarları varsayılan olarak gizlidir, bu da bu işlevin varlığından neden haberdar olmadığınızı açıklar. Kullanmak için önce etkinleştirmemiz gerekecek.

Klasik WordPress düzenleyicisini kullanıyorsanız (yani Gutenberg değil), yeni bir gönderi açın ve bu gönderinin başına gidin. Sağ tarafta 'Ekran Seçenekleri' yazan bir kutu göreceksiniz. Bunu tıklayın ve içinde onay kutuları olan bir açılır menü görünecektir. Bunda 'Özel Alanlar' yazan birini görmelisiniz. Bunları etkinleştirmek için bunu işaretleyin.

Gutenberg kullanıyorsanız, bir gönderinin sağ üst köşesinde görünen 'üç nokta' simgesine tıklayın. Bir menü görünecek ve bu menünün altında 'Seçenekler' yazmalıdır. Bunu tıklayın ve onay kutularını içeren yeni bir açılır menü görünecektir. Bu listede 'Özel Alanlar' yazan birini görmelisiniz. Bu kutuyu işaretleyin ve ardından açılır menüyü kapatın.

Sonraki Adımlar – Özel Alanlarınızı Ekleme

Özel alanlarınızı eklemek aslında oldukça kolaydır. Bunları yukarıda açıklandığı gibi etkinleştirdikten sonra, gönderinizin en altına gidin ve (tahmin ettiniz) 'Özel Alanlar' adlı yeni bir bölüm görmelisiniz.

Özel Alanlar bölümünde 'Ad' ve 'Değer' olmak üzere iki kutu göreceksiniz. Ad alanı, WordPress web sitenize eklenen mevcut alanlarla ilgili önceden doldurulmuş bazı varsayılanlara sahiptir. Bizim durumumuzda, kendi yeni alanımızı eklemek istiyoruz. Bunu yapmak için Ad alanının altında bulunan 'Yeni gir' metnine tıklayın.

Pressidium ile web sitenizi barındırın

60 GÜN PARA GERİ GARANTİSİ

PLANLARIMIZI GÖRÜN

Bu örnekte, yazdığımız bir makale için kaynak olarak kullanılan harici bir web sitesine bağlantı oluşturmak istiyoruz. Bu alana 'Kaynak' diyeceğiz. 'Yeni gir' metnine tıklayın ve ardından 'Kaynak' ve ardından Değer bölümünde seçtiğiniz bir web sitesine bir url yazın. Bu şöyle görünecek:

Bir dahaki sefere 'Yeni gir' metnine tıklamanız ve manuel olarak 'Kaynak yazmanız gerekmeyecek. Şimdi açılır değerler listesinde görünecektir.

Veritabanınıza erişiminiz varsa (örneğin: phpMyAdmin aracılığıyla) postmeta tablosunu açabilir, tabloyu düzenlediğiniz posta kimliğine göre filtreleyebilirsiniz ve değeriyle birlikte yeni özel alanı görmelisiniz.

Özel alanın gönderi için uygun şekilde saklandığını doğruladığımıza göre, bunu web sitemizin ziyaretçilerinin görebileceği gönderimizin ön ucunda nasıl görüntüleyebileceğimize bakalım!

Özel Alan Değerlerini Görüntüleme

Yeni Özel Alan değerimizi gönderimizde görüntülemek için, tek gönderiler şablon dosyamıza bazı kodlar eklememiz gerekiyor. Genellikle bu, temanın ana klasöründe bulunan singular.php dosyasında bulunabilir. Bizim durumumuzda (Yirmi Yirmi teması) /wp-content/themes/twentytwenty/template-parts/content.php dosyasında bulunur.

Bir gönderinin meta alanını veritabanından almak için WordPress'in sağladığı temel get_post_meta işlevini kullanacağız. Fonksiyonun yapısı aşağıdaki gibidir:

 get_post_meta( $post_id, $key, $single )

Gerekli olan tek argüman $post_id . $key argümanı alınacak meta anahtardır ve $single argümanı tek bir değerin döndürülüp döndürülmediğini tanımlar ve $key hiç tanımlanmadıysa işe yaramaz.

Yalnızca $post_id bildirilirse, sonuç, belirli gönderiyle ilgili tüm anahtarları içeren bir dizi olacaktır. Yani, sadece get_post_meta( $post_id ) eklerseniz şöyle bir şey elde edersiniz:

 Array ( [field1_key] => Array ( [0] => value1 ) [field2_key] => Array ( [0] => value2 ) [field3_key] => Array ( [0] => value3 ) )

get_post_meta( $post_id, 'filed1_key' ) kullanırsanız, Array ( [0] => value1 ) gibi bir şey alırsınız ve daha önce yaptığımız gibi get_post_meta( $post_id, 'filed1_key', true ) kullanırsanız sadece value1 alırsınız .

Ayrıca, bazı gönderilerde kaynak alanı tanımlamak istemeyebilirsiniz, bu nedenle, gönderi için alanın var olup olmadığını görmek için koda bir kontrol eklememiz gerekir.

Yani, tüm bunları göz önünde bulundurarak, kullanmamız gereken kod aşağıdaki gibi olacaktır:

 $source = get_post_meta( get_the_ID(), 'source', true); if( !empty( $source ) ) { echo '<h3>Source: ' . $source . '<h3>'; } ?>

Kodu gönderinin içeriğinden hemen sonra ekleyeceğiz, böylece “giriş içeriği” sınıfına sahip HTML div'inin içinde kod şöyle görünecek:

 <div class="entry-content"> <?php if ( is_search() || ! is_singular() && 'summary' === get_theme_mod( 'blog_content', 'full' ) ) { the_excerpt(); } else { the_content( __( 'Continue reading', 'twentytwenty' ) ); } $source = get_post_meta( get_the_ID(), 'source', true); if( !empty( $source ) ) { echo '<h3>Source: ' . $source . '<h3>'; } ?> </div><!-- .entry-content -->

Şimdi yeni bir gönderi açarak ve bu içeriğin ön uçta nasıl görüneceğine bir göz atarak neler başardığımıza bir bakalım.

özel alan çıkışı

Tek gönderi görünümünüze karşılık gelen şablon dosyasını bulmakta zorluk çekiyorsanız, WordPress şablon hiyerarşi şemasına başvurabileceğinizi hatırlatırız.

Açıkça bu çıktıya stil vermek için yapılacak bazı işler olacaktır. Bu, bu makalenin kapsamı dışındadır, ancak gelecekteki bir gönderide ele alacağımız bir şeydir.

Eklenti Kullanarak Özel Alanlar Ekleme

gelişmiş özel alanlar eklentisi

Gelişmiş Özel Alanlar eklentisi, WordPress web sitenize hızlı bir şekilde özel alanlar eklemenize izin veren ve özel alan verileriniz üzerinde daha fazla kontrol sağlayan mevcut en iyi eklentilerden biridir. Oluşturucusunu kullanarak, gönderilerinize, kullanıcılarınıza, sınıflandırmalarınıza, medyalarınıza, yorumlarınıza ve hatta özel seçenekler sayfalarınıza eklenebilecek özel alanları kolayca oluşturabilirsiniz.

ACF kullanarak Özel Alanlarınızı Oluşturun

ACF eklentisini kurup etkinleştirdikten sonra, kayıtlı alanların gösterildiği 'Özel Alanlar > Alan Grupları'na gidin.

Alanlarınızı oluşturmaya başlamak için 'Yeni Ekle' düğmesine basın. Bunlar daha sonra gruplara da eklenebilir.

Size özel alan davranışınızı geliştirecek bir sürü seçenek sunuluyor. Alan etiketini ve adını içeren temel yapılandırmanın yanı sıra, alanın türünü tanımlayabilir, alanın gerekli olup olmadığını tanımlayabilir, varsayılan değeri, yer tutucu metnini değiştirebilir ve tabii ki ekleneceği gönderi türlerini seçebilirsiniz. mantık argümanı kullanarak.

Ayrıca, alanın görünümünü değiştirmenize (süper yararlı) izin veren daha fazla ayar ve ilgili düzenleme ekranlarında nelerin gizlenmesi gerektiğini tanımlamanız için bir onay kutusu listesi vardır.

Harika, değil mi?

Ayrıca, ACF Araçları menüsünde, başka bir yerde oluşturulmuşsa işleri hızlandırmak için alan gruplarını JSON biçiminde dışa veya içe aktarabilirsiniz.

Gelişmiş Özel Alanların Kullanıldığı Çalışılmış Bir Örnek

Diyelim ki 'Kitaplar' adında bir Özel Gönderi Türü oluşturduk ve her Kitap Gönderisine Tür, Kitap Yazarı ve Yayınlanma Yılı gibi bazı özel alanlar eklemek istiyoruz. Yapmamız gereken ilk şey, alanlar grubunu ve aşağıdaki gibi içeren alanları oluşturmaktır:

Gördüğünüz gibi tüm alanlar aynı türü kullanmaz.

  • Yazar alanı, yazarın tam adını dolduracağımız basit bir metin alanıdır.
  • Tür alanı bir seçim alanıdır ve birden çok değeri kabul etmesi gerekir. Bir kitap birden fazla türle ilişkilendirilebilir.
  • Tür için önceden tanımlanmış seçeneklerin, her biri kendi satırında Seçenekler kutusuna eklenmesi gerekir.

Kapak alanı, önceden tanımlanmış seçeneklerle birlikte tek bir değer seçme alanı olmalıdır.

Şimdi gidip bir Kitap Gönderisini düzenleyelim. Alanlar, kenar çubuğunda güzel bir şekilde gruplandırılmış olarak görünecektir.

Alanlar grubunun konumunu değiştirmek istiyorsanız lütfen ilgili ayarlara gidin:

Makale için bazı test içeriğinin yanı sıra alanları doldurun ve gönderiyi güncelleyin. Bu noktada, Kitap Postasının ön görünümünü ziyaret ederseniz, özel alanlarımızla ilgili hala hiçbir şeyin görüntülenmediğini fark edeceksiniz.

ACF Özel Alanlarınızı görüntüleyin

ACF eklentisinin sağladığı kolay işlevleri kullanarak temanızın şablonundaki özel alanları kolayca gösterebilirsiniz. Bunlardan ikisi:

  • get_field() – Belirli bir alanın değerini döndürür.
  • the_field() – Belirli bir alanın değerini görüntüler.

Bunlar, ACF eklentisiyle en sık kullanılan işlevlerdir. Eklenti işlevlerinin tam listesini görmek istiyorsanız, daha fazlasını öğrenmek için resmi belgeleri ziyaret edebilirsiniz.

Bu nedenle, özel alanınızı görünüm sonrası şablonda çıktılamak için, varsayılan WordPress özel alanlarını kullanırken yaptığımız gibi bazı kodlar eklemeniz gerekir. Ancak bu sefer ACF eklentisinin işlevlerini kullanacağız. Twenty Twenty temasını kullandığımız için twentytwenty/template-parts/ klasörü altındaki content.php dosyasını düzenlememiz gerekiyor. İç bölüm kapanışının hemen ardından şu satırları ekledik:

 <div class="entry-content"> <?php if( get_field( 'author' ) ) { echo '<p><b>Author:</b> ' . get_field( 'author' ) . '<p>'; } if( get_field( 'genre' ) ) { echo '<p><b>Genre:</b> ' . get_field( 'genre' ) . '<p>'; } if( get_field( 'cover' ) ) { echo '<p><b>Cover:</b> ' . get_field( 'cover' ) . '<p>'; } ?> </div>

Ön görünümde artık özel alanları görebiliriz.

Ancak tür alanı doğru görüntülenmiyor. Bunun nedeni, birden çok değer içermesidir, bu nedenle get_field işlevi bir dizi döndürür. Bunu düzeltmek için diziyi bir dizi değere dönüştürmemiz gerekecek. PHP'de implode() işlevini kullanarak bu kolaydır.

 <div class="entry-content"> <?php if( get_field( 'author' ) ) { echo '<p><b>Author:</b> ' . get_field( 'author' ) . '<p>'; } if( get_field( 'genre' ) ) { echo '<p><b>Genre:</b> ' . implode( ", ", get_field( 'genre' ) ) . '<p>'; } if( get_field( 'cover' ) ) { echo '<p><b>Cover:</b> ' . get_field( 'cover' ) . '<p>'; } ?> </div>
kısa kod tarafından oluşturulan özel alanları görüntüle

Bazı alanları seçici olarak görüntülemek istiyorsanız, ancak belirli gönderilerde hepsini değil, bunu bazı ACF kısa kodlarını kullanarak yapabilirsiniz. Bunu yapmak için gönderinizi açın ve ardından her alan için bir kısa kod Gutenberg bloğu ekleyin ve şöyle bir kısa kod girin:

 [acf field="MY_CUSTOM_FIELD"/]

MY_CUSTOM_FIELD'i alanın adıyla değiştirin ve bu mükemmel şekilde çalışmalıdır.

Gördüğümüz gibi, Gelişmiş Özel Alanlar eklentisini kullanmak, bize özel alanlar oluşturmak ve bunları istediğimiz yerde görüntülemek için harika bir esneklik sağlıyor.

Çözüm

WordPress'teki Özel Alanlar işlevi, web sitelerine daha iyi yapı ve okunabilirlik sağlamak için sektördeki geliştiriciler tarafından güvenilmektedir. WordPress'in neden bu kadar popüler olduğunu açıklamaya yardımcı olan başka bir çarpıcı WordPress işlevidir. Umarım bu makale size kendi özel alanlarınızı web sitenize eklemek için ihtiyaç duyduğunuz bilgileri vermiştir. Mutlu gelişme!

Ayrıca bakınız

WordPress Yönetici Listesi Tabloları: Özel Filtreler Ekleyin
WordPress Menü Öğelerine Özel Alanlar Ekleme