06 Temmuz 2009

Özel Alan Değeri Yazıyla Aynı Olanlar

WordPress Yorum Ekle

Artık yazılardaki özel alanların kullanımı oldukça yaygınlaştı. Öyleki birçok temada kullanıldığı gibi birçok eklenti de özel alanları kullanıyor. Bu yazımda bir yazıyı açtığınızda hemen altında o yazıya ait bir özel alanın değeriyle aynı değere sahip yazıları listelemeyi anlatacağım.
Diyelim ki bir araba karşılaştırma siteniz var ve yazı olarak otomobillerle ilgili bilgiler veriyorsunuz. Bu bilgilerin bir kısmını da özel alanlarda saklıyorsunuz. Bunlardan biri de 'marka' isimli özel alan olsun ve diyelim ki bu özel alan değeri 'Opel' olan bir yazıyı açtınız ve yazının hemen altında da 'Opel' markalı arabaları anlatan yazıları başlıklar halinde listelemek istiyorsunuz. Senaryomuz bu. Yapacağınız basit, aşağıdaki kodları temanızın Tekil yazı (single.php) dosyası içerisinde, yazı listesinin nerede görünmesini istiyorsanız oraya, uygun şekilde ekleyin.

  1. <?php
  2.  $marka_degeri = get_post_meta( $post->ID, 'marka', true );
  3.   //marka isimli özel alan değerini alıyoruz
  4.  if ($marka_degeri) {
  5.     //Özel alan değeri varsa
  6.  $yazilar = get_posts( array( 'meta_key' => 'marka', 'meta_value' => $marka_degeri, 'numberposts' => '10', 'exclude'=> $post->ID) );
  7.   //Aynı değerde özel alana sahip diğer 10 yazıyı alıyoruz
  8.  if ($yazilar) {
  9.   //Eğer bu tür yazılar varsa
  10. ?>
  11. <h2><?php echo $marka_degeri . ' Marka Arabalar'; ?></h2>
  12. <ul>
  13. <?php foreach($yazilar as $yazi)  {
  14.   //Yazıları tek tek alıp, liste olarak yazdırıyoruz.
  15. ?>
  16. <li><a href="<?php echo get_permalink($yazi->ID); ?>" rel="bookmark" title="<?php echo $yazi->post_title; ?>"><?php echo $yazi->post_title;?></a></li>
  17. <?php }; //foreach sonu?>
  18. </ul>
  19. <?php } }; //if'lerin sonu ?>

Kodlar içerisindeki önemli olan kısım $yazilar = get_posts satırındaki parametreler. Bu yöntemi kullanarak istediğiniz özelliklere sahip yazıları alarak, döngü içerisinde istediğiniz gibi yazdırabilirsiniz.


Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=926.

Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.


“Özel Alan Değeri Yazıyla Aynı Olanlar” yazısı için 2 Yorum

Bu yazıya yapılan yorumları dilerseniz, ( RSS 2.0 ) beslemesini kullanarak takibe alabilirsiniz.

  1. gevv dedi ki:

    Teşekkürler hocam

  2. Halil İbrahim dedi ki:

    yakup hocam bunu sık kullanılanlara ekledim. otel sitemde kullanacağım.