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.

85 Yorum var

  1. [...] 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 [...]

  2. 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…

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

  4. Komik Videolar diyor ki:

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

  5. egzotik diyor ki:

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

  6. [...] ö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 [...]

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

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

  9. Erhan diyor ki:

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

  10. 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)

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

  12. [...] 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 [...]

  13. El-aziz diyor ki:

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

  14. Anonim diyor ki:

    [...] [...]

  15. diziler diyor ki:

    Anlatım için tşkler.

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

  17. kemal diyor ki:

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

  18. [...] Hakkıceylan.com Wordpress Custom Fields Kullanımı [...]

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

  20. HC diyor ki:

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

  21. HC diyor ki:

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

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

20091219037BSK
20091029328BSK
20091121007BSK
20091029017BSK
20091114050BSK
20091029268BK
20091029039BSK
20091121219BSK
20091029331BSK
20091029113BSK
20091219004BSK
20091114055BSK