Wordpress Custom Fields Kullanımı

29 Şubat 2008, 12:23 • Kategori: Blog, Wordpress • 12 yorum var (RSS).

Wordpress’i zenginleştirmenin yollarından biri hiç şüphe yok ki Custom Fields (Özel alanlar) kullanmaktan geçiyor. Son zamanlarda bir kaç projede ve kendi blogumda yaptığım değişikliklerde Custom Fields ‘in nimetlerinden faydalandım. Wordpress’de şablon oluştururken herhangi bir yazı veya sayfa için daha önceden belirlenmiş bazı alanları kullanmak durumundayız. Bunlardan birkaçı mesela the_title, the_content, the_tags. Tüm bu alanlar yazının ID numarası ile birlikte kaydedilir. Kullanmak istediğimizde ise döngü içerisine yerleştirmemiz yeterli olur.


<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <?php the_date(); ?>
    <?php the_content(); ?>
<?php endwhile; else: ?>
<?php endif; ?>

Bu alanların tamamına http://codex.wordpress.org/Template_Tags adresinden ulaşabilirsiniz.

Özel alanlar ise önceden tanımlı alanların bize yetmediği durumlarda kullanılabilir. Kendi blogum için yaptığım çalışmadan örnek vererek devam etmek istiyorum. Uzun zamandır gönderdiğim her yazıyı bir görsel medya ile destekliyordum. Bu genellikle kendi çektiğim fotoğraflardan biri ya da ilgili bir resim olabiliyordu. Fakat bunu yaparken resmi klasik olarak yazının içerisinde üste bir yerlere yerleştiriyordum. Son kullandığım şablonda bu durumu değiştirdim ve yazı ile yazıya ait resmi birbirinden ayırdım. Bunun için yaptığım sadece Özel alanlar (Custom Fields) bölümüne gelerek buyukresim isimli bir Anahtar tanımlamak ve Değer kısmına da kullanacağım resmin adresini girmek oldu.

Custom Fields

Bu anahtarların değerini şablonumuzda göstermek için;

<?php the_meta(); ?>

kodunu kullanıyoruz, codex.wordpress.org den kullanımına bakabilirsiniz. Fakat bu kısımdaki açıklamalar tamamlanmamış ve kullanımı da pek pratik değil. Bu nedenle Özel alanlardaki değerleri göstermek için Get Custom Field Values isminde ufak bir eklenti kullanıyorum. Bu eklentiyi indirip etkinleştirdikten sonra döngü içerisinde kullanımı;

<?php echo c2c_get_custom('buyukresim'); ?>

şeklinde oluyor. Bu şekilde yazdığınızda buyukresim anahtarı için girdiğim değeri direkt olarak ekrana basıyor. Eğer text olarak kullanmak istiyorsanız bu şekilde kullanabilirsiniz. Örneğin bir gezi bloğunuz var ve gezi fotoğraflarınızı yayımlıyorsunuz. Her yazıya yer isimli bir anahtar değer tanımlayıp onu döngü içerisinde

<?php echo c2c_get_custom('yer'); ?>

şeklinde kullanarak gönderdiğimiz yazılarla birlikte yer bilgilerini yayımlayabiliriz. Benim kullandığım ise ufak bir farkla bu değeri bir resim dosyasının yolu olarak tanımlamak. Yani ekranda resim dosyasının yolunu göstermek değil resim dosyasının kendisini göstermek istiyorum, bu yüzden kullandığım kod şu şekilde oluyor;

<img src="<?php echo c2c_get_custom('buyukresim'); ?>" />

Bir yazıya birden çok anahtar tanımlayıp hepsini döngü içerisine yerleştirerek kullanabilirsiniz. Bir anahtarı herhangi bir yazıda ilk kez tanımladıktan sonra başka bir yazıda kullanmak istediğinizde tekrar yazmanıza gerek yoktur.

Custom Fields

Özel Alanlar kısmında sol taraftan seçebilir ve hemen değerini girebilirsiniz. Ufak bir ipucu olarak eklediğiniz değerleri sonradan güncelleyebilirsiniz fakat güncelledikten sonra yazınızı kaydetmeyi de unutmayın.

İlgili Yazılar

Bu Yazıya Yapılan Yorumlar

  1. Hakkıcan, verdiğin bilgi çok önemli ve birçok alanda önümü açmış oluyor. Denemeler yaptım ve kodlarının işe yaradığını gördüm. Şimdi başka bir problem var. Örneğin “Yazar” diye bir anahtar açıyorsak ve karşılığına da “İbrahim” yazıyorsak temamızın kodu çağırdığımız yerinde de onun karşılığı olarak “ibrahim” görünecektir. Fakat ben “İbrahim”e tıkladığım zaman o “yazar” anahtarına ait olan tüm yazıları çağırmak istiyorum. Bu mümkün mü?

  2. Aslında yazar için özel bir anahtar tanımlamana gerek yok, o zaten var, döngü içerisinde;< ?php the_author_posts_link(); ?>şeklinde kullanırsanız zaten link yazarın tüm yazılarını gösteriyor. Ayrıca author.php kullanımını incelemenizi öneririm;
    Author Templates
    Wordpresse Yazar Sayfası Eklemek
    Kolay gelsin.

  3. mimbo içerisinde imaj ekleyemiyorum, bilginiz varmı?

  4. Mimbo Theme sayfasını incelerseniz size yardımcı olacaktır.

  5. sayfa ingilizce sorun burada başlıyor, türkçe bilgi varsa linkini gönderebilirmisiniz. Benim ingilizcem o sayfayı çözebilecek kadar değil. Kusura bakmayın

  6. Burada anlatıldığı gibi resim ekleyebilirsiniz, fakat Mimbo Theme de anahtar Image olarak tanımlanmış, ben ise buyukresim olarak tanımladım.

  7. Hakkıcan, yazar için dedikleriniz doğru fakat bir de şöyle düşünelim. Sitenin tek yöneticisisiniz ve günlük olarak 5 ayrı yazarın yazısını siteye ekliyorsunuz. Yani bunların bir hesabı yok ve hepsinin yazılarında sadece yazar olarak yazarların ismi yazılmalı. Ne önerirsin?

  8. Ben nasıl yapardım diye sorarsanız; manual olarak kullanıcıları oluşturur ve yazıyı yazdıktan sonra admin paneldeki yazı yazma ekranında sağdaki yazar seçiminden yazarı seçerdim. (yönetici girişi yaparak istenilen yazının yazarı değiştirilebilir.)

  9. çok güzel bir yazı olmuş. bende bundan sonra bu yöntemi kullanacağım.
    teşekkürler.

  10. [...] Bu iş için piyasada özel olarak hazırlanmış ücretli temalar bulmak mümkün. Özel alanların kullanımını blogumda inceledim, umarım faydalı olur. Yeni Wordpress Eklentileri 2 [...]

  11. Hakkı bey rica etsem bu kodları tam olarak nereye ekleyeceğimizi söyleyebilirmsiniz ? Biraz daha temeline inerek ? Şimdiden teşkkürler…

  12. Wordpress’in tema yapısında temel olan bir döngü(loop) mevcut, bu döngünün içerisinde kullanmalısınız. Ayrıntılar..

Bu Yazı Yoruma Açıktır