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. aliugRAs diyor ki:

    Hocam merhaba benim kullanmak istediğim tema
    http://web2feel.com/downloads/gamezine.zip
    demosu
    http://web2feel.com/gamezine/

    burda görüldüğü üzere üst taraftaki resimler butona bastıkça değişiyor.Ben temada herşey hallettim fakat konunun arkasında resimi birtürlü gösteremedim yardımcı olursan gerçekten çok sevinirim.
    KOLAY GELSİN

  2. Talat diyor ki:

    Merhaba.
    Bu alanı kullanarak yapmak istediğim bir şey var.Yardımlarınızı bekliyorum;
    Bir resim alanı oluşturmak.Mesala 150×150 boyutlarında.Ben bu custom fields e otomatik olarak hangi resim linkini koyarsam direk yazdığım yazının başında o resim istediğim boyutlarda çıkmasını istiyorum.
    Bu konuda yardımcı olursanız sevinirim.
    iyi günler

  3. aliugras diyor ki:

    bunu temanızda görünmesini istediğiniz yere yapıştırın kısmına geldim.Burda kaldım.Bu arada kullanmak istediğim temada 3 farklı boyutta resmi gösterebilirim atıyorum ilk büyük resim ana sayfadaki sonra son haberler kısmında ve atıyorum en çok okunanlar kısmında koyacak şekilde ayarlıyor boyutları ama ben bir türlü yerleştiremedim.Sanırım bu kodu koyacağım yeri bulursak sorun çözülecek.
    KOLAY GELSİN

  4. turk chat diyor ki:

    paylaşim için tşkler

  5. hikayeler diyor ki:

    Ciddi anlamda çok işime yaradı. Sağolun paylaştiğiniz için..

  6. Furkan diyor ki:

    @Özkan YILDIZ:Sizde benim gibi RSS’lere özel alanların nasıl ekleneceğini araştırıyorsunuz sanırım, on-on iki dakika önce blogumda bir yazı yayınladım: WordPress Özel Alanları RSSâ??de Göstermek

  7. Kemal Gürler diyor ki:

    Teşekkürler :)

  8. [...] yer alan Özel Alanlar menüsünü kullanıyoruz. Bu aracın nasıl kullanılacağını Hakkı Ceylan blogunda anlatmış. Kısa olsada bende kullanım şeklini göstermek [...]

  9. [...] Hakkı Ceylan,Yakup Gövler gibi bir çok blog yazarı bu konuyu detaylı olarak anlatmışlar.Ben bu yazımda size nasıl bir kullanım yapabileceğinizi anlatacağım. [...]

  10. [...] Hakkı Ceylan,Yakup Gövler gibi bir çok blog yazarı bu konuyu detaylı olarak anlatmışlar.Ben bu yazımda size nasıl bir kullanım yapabileceğinizi anlatacağım. [...]

  11. [...] yer alan Özel Alanlar menüsünü kullanıyoruz. Bu aracın nasıl kullanılacağını Hakkı Ceylan blogunda anlatmış. Kısa olsada bende kullanım şeklini göstermek [...]

  12. Gökhan ulus diyor ki:

    Hakkı hocam merhaba;
    benim sizden öğrenmek istediğim şu; Örnek veriyorum oluşturduğum bir özel alanın değerleri “istanbul,ankara,izmir” şeklinde.Şimdi ben istanbul’un üstüne tıkladığımda daha önce kullanmış olduğum istanbul değerine sahip yazıların dökülmesi.Bir diğer deyişle, amacım Get Custom Field Values modülü ile sayfaya yazdırdığım değerlerin üzerine basınca aynı değerlere sahip yazıların listelenmesini istiyorum.Bir sayfadan örnek verirsek imdb.com’daki oyuncuların üstüne tıkladığnızda o oyuncunun oynadığı diğer filmlerin listelenmesi gibi.Bunu nasıl yapabilirim? Saygılarımla…

  13. Gökhan Ulus diyor ki:

    hocam cevap için teşekkürler.Ama format olarak size örnek verdiğim imdb sayfasındaki film tanıtım sayfasındaki gibi nasıl etiketlendirme yapacağım.

  14. Komik Videolar diyor ki:

    Teşekkürler, yararlı bir çalışma olmuş.

  15. egzotik diyor ki:

    wp bir tutku oldu bizde sizin gibi insanlar sayesinde işimiz kolaylaşıyor teşekkürler

  16. [...] özel alanlar (custom fields) yapısı ile ilgili daha çok bilgi edinmek için Hakkı Ceylanın WordPress Custom Fields Kullanımı yazısını okuyabilirsiniz.Çok faydalı olacaktır yukarıdaki paragrafta ne demek istediğimi [...]

  17. Erhan diyor ki:

    Hocam, benim bir sorum olacak, kaç gündür uğraşmama rağmen bir cözüm bulmuş değilim, özel alan bölümüne resim göstermek yerine konuyla alakalı yazı girmek gibi bir şey söz konusu olabilirmi? Teşekkürler…

  18. Erhan diyor ki:

    Sorum : Özel alanları kullanarak Bahsi geçen konuya atanan resim yerine o konuya ait bir yazı eklemek istiyorum örnek: Gustom field kelimem “özel” olsun alacağı değerede ” konu hakkında kısa yazı yazmak” istiyorum.

    Sorunum: Hala bunu başaramamış olmak. Teşekkürler

  19. Erhan diyor ki:

    Sorunum Çözüme Ulaştı.. Teşekkürler

  20. InterRamcho diyor ki:

    İyi sayılabilecek bir İngilizce bilgisine sahip olmama rağmen neredeyse hiçbir şey anlayamadım ingilizcesinden.Buna aşırdım.Türkçe aradım ve ilk çıkan link bu oldu.Okudum ve denedim.Daha da şaşırdım.İlk seferde anladığıma inanamıyorum. Temalardaki functions.php’ye benziyor.Her yazıda “x” değişkenini gösterecez.”Y” sabiti olmadan gösterilemiyor. İlk kısma “y” ikinci kısma “x” yazıyor.Oldukça açıklayıcı olmuş.Ellerine sağlık Hakkı(abi)

  21. [...] Eklenti yardımıyla özel alan oluşturma kısmı için teşekkürler Hakkı Ceylan. [...]

  22. [...] olduğunu bilmenizi istiyorum. Aslında daha önce Hakkı Ceylan bu konuyu oldukça güzel anlatmıştı ama ben eklenti gerektirmeden temaya yazılması gereken kodları da içeren farklı bir anlatımda [...]

  23. El-aziz diyor ki:

    Çok güzel anlatım olmuş . Teşekkür ediyorum.

  24. Anonim diyor ki:

    [...] [...]

  25. diziler diyor ki:

    Anlatım için tşkler.

  26. Bilgilendirme için teşekkür ederim..

  27. kemal diyor ki:

    güzel anlatım.. emeğin için teşekkürler..

  28. [...] Hakkıceylan.com WordPress Custom Fields Kullanımı [...]

  29. Oğuz diyor ki:

    Hakkı Abi öncelikle merhabalar,

    Sana bir konuda bir şey danışmak istiyorum, aşağıdaki resimdeki gibi bir alanı yazdığım incelemelere eklemek istiyorum, ama bunu yazı içinde kolay bir şekilde yapabilmek istiyorum ve resim olarak ayrı bir bilgi alanı olarak.

    http://imgur.com/0eIQY.png

    Bunu nasıl yapabilirim, özel alanları kullanarak diye düşünüyorum ama nasıl?

  30. resim diyor ki:

    Öğrenesiye kadar canım çıkmıştı :D Teşekkürler admin.

  31. DoqaN diyor ki:

    Hakkı Hocam. WordPress İnsider Teması kullanıyorum ve resim çıkarma konusunda sıkıntı yaşıyorum.Sizin resim çıkarma yazınızı okudum ve Get Custom Field Values eklentisi indirip kurdum.Ancak bu eklenti ile ilgili ayarı nerden yapıcaz.Yani <img src="” /> nereye ekleyeceğiz. Site Adresimi incelereyerek sorunu görebilirsiniz.Bu konuda sizden yardım bekliyorum.

  32. [...] özel alanlar (custom fields) yapısı ile ilgili daha çok bilgi edinmek için Hakkı Ceylanın WordPress Custom Fields Kullanımı yazısını okuyabilirsiniz.Çok faydalı olacaktır yukarıdaki paragrafta ne demek istediğimi [...]

  33. 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.

  34. HC diyor ki:

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

  35. HC diyor ki:

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

  36. 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