WordPress Tema Yapımı : Yazılar

WordPress bir içerik yönetim sistemi olduğundan, admin panelinden yazılar yazıp, yazılarınızı yönetebilirsiniz. Bu yazıda blog yazılarının anasayfada ya da temanızın herhangi bir yerinde nasıl listeleneceğini göstererek wordpress tema yapımına devam edeceğiz.

Konuya giriş yapmadan önce, işin arkaplanında programlama açısından neler olduğunu anlatmaya çalışayım. Bir yazı yazdığınızda, wordpress bu yazıyı öncelikle siteyi kurarken oluşturduğunuz veritabanına kaydeder. Veritabanında hali hazırda bulunan bu yazıyı/yazıları çekmek için bir sorgu yapılır. Bu sorgu ile birlikte gelen yazılar artık sitede gösterilebilir şekilde elinizde bulunur.

Yazılar gösterilmek üzere elinize geldiğinde, bunları bir döngü aracılığıyla gösterirsiniz. Döngü her işleyişinde bir yazıyı, daha doğrusu ona ait bilgileri, içeriği ve diğer özelliklerini yazdıracaktır.

Tabii bu anlattıklarım arkaplanda gerçekleşen işlemlerdir. Hepsini bilmenize gerek yok. Daha fazla karıştırmadan döngümüzü nasıl yaptığımıza bakalım ;

<?php if ( have_posts() ) : ?>
// Eğer yazı varsa
   <?php while ( have_posts() ) : the_post(); ?>
   // Döngü başlar
      // Yazılar burada listelenir.
   <?php endwhile; ?>
   // Döngü biter
<?php else : ?>
// Eğer yazı yoksa, arşivde yazı yok mesajı verilir
<?php endif; ?>

Döngüyü açtıktan sonra, yazı sayısı kadar işleyeceğini söylemiştim. Bu yazı sayısını admin panelinde bulunan ayarlar/okuma sekmesinden belirleyebilirsiniz.

Ayrıca buradaki döngünün kaç kere işleyeciğini manuel olarak da değiştirebilirsiniz, şu an biraz ileri düzey olacağı için geçiyorum.

Döngünün 5 kere tekrar edeceğini varsayalım. Her tekrar edişinde, bir yazıya ait tüm bilgileri veritabanından çeker. Bu bilgileri gösterip göstermemek size kalmıştır.

Biz döngü her tekrar edişinde, yazıya ait şu bilgileri göstereceğiz ;

  • Başlığı
  • Tarihi
  • Kategorisi
  • Yorum sayısı
  • Küçük resmi
  • İçeriği

O halde başlayalım. Ben burda kodların tamamını yazmayacağım. Açıklanması gereken yerleri açıklayacağım. Siz temanın son halini indirip oradan takip edebilirsiniz.

Döngüyü açıp arasına yazacağımız kodlara bakalım.

Yazı başlığının gösterilmesi

<h1>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Kalıcı bağlantı : <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
</h1>

Yazı tarihi, kategori ve yorum sayısı

<ul>
   <li>Tarih : <?php the_time('j F Y'); ?></li>
   <li>Kategori : <?php the_category(', ') ?></li>
   <li><?php comments_number('Yorum Yok', '1 Yorum ', '% Yorum' );?></li>
</ul>

Yazıya ait küçük resmin gösterilmesi

Yazıya ait bir öne çıkarılmış görsel belirlemek, diğer bilgileri göstermekten daha zordur. Temaya yan menü desteği verirken yaptığımız gibi, yine functions.php dosyasına gidip bir fonksiyon yazmamız gerekiyor.

Kullanacağımız fonksiyon post_thumbnail. Bu fonksiyonu aşağıdaki gibi kullanarak temanıza öne çıkarılmış görsel desteği verebilirsiniz.

if (function_exists('add_theme_support')) {
   add_theme_support( 'post-thumbnails' );
   set_post_thumbnail_size( 100, 100, true ); // default değer
   add_image_size('index-thumbnail', 100, 100, true);
}

Aslında bir temaya öne çıkarılmış görsel desteği sağlamak ayrı bir yazıda, daha geniş anlatılması gereken bir konu. Bu yüzden yakuterin yazısına bakmanızı tavsiye ediyorum.

functions.php dosyasıyla işimizi bitirdikten sonra döngümüzün içine geri dönüp, küçük resmimizi gösterelim ;

<?php if ( has_post_thumbnail()) { ?>
   <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('index-thumbnail'); ?></a>
<?php } ?>

Yazı içeriğinin gösterilmesi

<?php the_content(__(''));?>

Yazı içeriğini de gösterdikten sonra artık döngümüzü sonlandırabiliriz. Yazıya ait göstermek istediğimiz tüm bilgileri gösterdik. Biz bu işlemi sadece bir yazı için yaptık fakat yaptığımız işlem şablonu tanımlamaktı. Diğer tüm yazılar için de bu şablon geçerli olacak.

Önceki ve sonraki yazıların gösterilmesi

Yazılarınız listelenirken default olarak onar onar gösterilirler. Bu sayı yazının başında da belirttiğim gibi admin panelinden değiştirilebilir. Tüm yazılarınız listelenirken 10’dan fazla yazınız olduğunda yazılarınız sayfalara bölünerek gösterilirer. Bu işleme sayfalama denir. Diğer sayfalara ulaşmak için ise şöyle bir yok izleyin ;

Döngünüzü kapattıktan sonra aşağdaıki kodları ekleyin ;

<div class="article-navigation">
   <p class="art-nav-left"><?php previous_posts_link('&laquo; Önceki Yazılar') ?></p>
   <p class="art-nav-right"><?php next_posts_link('Sonraki Yazılar &raquo;','') ?></p>
</div>

Şu ana kadar

Artık temamızın orta kısmını da, yani yazıların gösterilme kısmını da bitirmiş olduk. Çok az bir kısım kaldı. İsterseniz şimdiye kadar neler yaptığımıza bir bakalım ;

  • Sitenin üst kısmını kodladık, site başlığı ve sloganı gösterdik,
  • Sayfaları ya da kategorileri listeleyen fonksiyonlara baktık,
  • Arama bölümü oluşturduk
  • Dinamik sol yan menü oluşturduk
  • Dinamik sağ yan menü oluşturduk
  • Yazıları listeledik
  • Her yazıya ait bilgileri nasıl gösterebileceğimize baktık

Temanın son halini indirmek için tıklayınız.

Benzer Yazılar

Yorumlar

Yorum Yazın

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Arama
RSS
Beni yukari isinla