WordPress Custom Fields Kullanımı

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.

Eğer bu yazımı beğendiyseniz, RSS kullanarak tüm yeni yazılarımdan kolaylıkla haberdar olabilirsiniz. Gmail hesabınız varsa burası ve tüm beğendiğiniz siteler için Google Reader sistemini kullanabilirsiniz.

90 Yorum var

  1. HC diyor ki:

    @Levent Yilmaz, custom fields ten aldığımız verileri istediğimiz yerde kullanabiliriz. bunun neresi olduğu öenmli değil, temamızı tasarlarken sabit kısımları temamızın dosyasına yazarız ve değişen değerleri de (value=”") özel alanlardan çekerek yazdırırız.

  2. HC diyor ki:

    Futured Content Gallery eklentisini inceleyin cevabınız muhtemelen orada.

  3. HC diyor ki:

    Hiç uğraşmana gerek yok, bunun için etiket sistemini kullanabilirsin.

  4. HC diyor ki:

    Soruyu tam anlamadım ama özetle custom fields alanlarına dilediğiniz değeri girebilir ve dilediğiniz şekilde gösterebilirsiniz.





Son Fotoğraflarım

20091121251BK
20091121104BK
20060910117BK
20070910247BK
20100613105BK
20091121005BSK
20100423150BSK
20100708022BSK
20091121242BK
20091121005BK
20090926055BK
20071111048BK