Online Kimya Özel Dersi Al

ÜCRET

KONU

TARİH

2.8 WordPress Döngüsü Örnekleri

wordpress tema yapımı

WordPress döngüsünü bir de iş başında görelim:

Temel Düzeyde Örnekler

I. Blog Arşivi

archive.php

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
 
    <h2><?php the_title(); ?></h2> <!-- Başlık -->
    <?php the_post_thumbnail(); ?> <!-- Öne çıkan görsel -->
    <?php the_excerpt(); ?> <!-- Özet -->
    <?php endwhile; else: ?> <!-- İçerik yoksa -->
    <?php _e( 'Üzgünüm, aradığınız kriterlerlere uygun bir sonuç bulunamadı.', 'textdomain' ); ?>

<?php endif; ?>

Bir çok site bir blog arşivi sayfası içerir. Blog arşivi sayfalarında, genellikle, arşivde bulunan yazılar kısaca tanıtılarak sıralanır. Yukarıdaki örnek, böyle bir arşiv sayfasına ait basit bir döngüye aittir. Bu döngü, önce arşivde yazı var mı diye kontrol eder, eğer varsa her bir yazının önce başlığını –the_title()– sonra öne çıkan görselini –the_post_thumbnail()– sonra da özetini –the_excerpt()– getirir. Eğer arşivde hiç yazı yoksa bir “Üzgünüm…” mesajı yayınlar.

II. Tek İçerik / Tek Yazı

WordPress’de, her bir içerik tipi kendi özel sayfasına sahiptir. Bu sayfalarda, içerik ile ilgili bilgiler yayınlanır. Bir içeriğin, yayınlamak istediğimiz bilgilerini getirmek için, şablon fonksiyonlarını kullanırız.

single.php

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
 
    <h1><?php the_title(); ?></h1> <!-- Başlık -->
    <?php the_content(); ?> <!-- Tam metin -->
    <?php endwhile; else: ?> <!-- İçerik yoksa -->
    <?php _e( 'Üzgünüm, aradığınız kriterlerlere uygun bir sonuç bulunamadı.', 'textdomain' ); ?>

<?php endif; ?>

Yukarıdaki döngü, tek bir içerik hakkında bilgi vereceği için, başlık büyük yapılmış –<h1>-, özet yerine içeriğin tam metni –the_content()– çağırılmıştır. Bu döngü bir yazı ya da sayfa şablonunda kullanılabilir. Tabi ki bu şablonu, içeriğin kategorisi gibi, içerik ile ilgili daha detaylı bilgiler ekleyerek de kullanabilirsiniz.

Orta Düzeyde Örnekler

İçerikleri Belli Bir Kategoriye Göre Yayınlama

Kodlar içerisinde bulunan yorumlara dikkat edelim:

single.php

<!-- Döngü başlar. -->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); 
/* * 
   * Gösterimdeki içeriğin kategorisinin id değeri 3 mü kontrol et 
   * Eğer 3 ise, bu içeriği CSS klası "post-category-3" olan bir div içerisinde yayınla.
*/
if ( in_category( 3 ) ) : // kategori 3 içinde bir yazı ise ?>
 
  <div class="post-category-3">

  <?php else : // değilse ?>

  <div class="post">

<?php endif; ?>
 
  <!-- İçeriğin başlığını yayınla. -->
  <h2><?php the_title() ?></h2>
 
  <div class="post-metas">
   <!-- Bu yazara ait diğer yazıların bir linkini ve yazının yayınlanma tarihini aralarına | işareti koyarak ver. -->
   <?php
    $yayinlandigi_yil = get_the_time('Y'); // Yayınlandığı yıl
    $yayinlandigi_ay  = get_the_time('m'); // Yayınlandığı ay
    $yayinlandigi_gun = get_the_time('d'); // Yayınlandığı gün
   ?>
   <small>
    <?php _e( 'Yazar: ', 'textdomain' ); the_author_posts_link() ?> | <?php _e( 'Tarih: ', 'textdomain' ); ?>
    <a href="<?php echo get_day_link( $yayinlandigi_yil , $yayinlandigi_ay  , $yayinlandigi_gun ); ?>"><?php the_date('Y/m/d'); ?></a>
   </small>
  </div>

  <!-- Öne çıkan görsel -->
  <div class="post-thumbnail">
   <?php the_post_thumbnail(); ?>
  </div>
 
  <!-- İçeriğin metnini bir div içerisinde ver. -->
  <div class="entry">
    <?php the_content() ?>
  </div>
 
  <!-- İçeriğin bağlı oldğu kategorileri aralarında virgül olacak şekilde sırala -->
  <?php _e( 'Kategoriler: ', 'textdomain' ); the_category( ', ' ); ?>
 
  <!-- "post" veya "post-cat-3" sınıflarını atadığımız o ilk divi kapat. -->
 </div>
 
  <!-- Döngüyü durdur fakat "eğer içerik yoksa" koşulunu devam ettir. -->
<?php endwhile; else :

/*
 * En baştaki "if" ifadesi, gösterilecek bir içerik olup olmadığını test etmişti
 * Buradaki "else" kısmı da, eğer hiç içerik yoksa ne yapılacağını belirler.
 */
_e( 'Üzgünüm, aradığınız kriterlere uygun bir sonuç bulunamadı.', 'textdomain' );
 // Döngüyü biter.
 endif;
?>

Yukarıdaki örnek, farklı olarak şunları yapmaktadır:

  • Döngüyü başlattıktan sonra, sırası gelen içeriğin, ID değeri 3 olan kategoriye ait olup olmadığını kontrol etmektedir. Eğer içerik bu kategoriye aitse, farklı bir CSS sınıfına sahip olan (post-category-3) bir div içine almaktadır.
  • get_day_link() fonksiyonu ile yazının yayınlandığı tarih için bir arşiv sayfası linki vermektedir. Bu linke tıklandığında, aynı tarihte yayınlanmış yazılara ait bir arşiv sayfası gösterilecektir.

DERSİN SONU

Kimya Özel Dersi Al

Yorum yaparak bize destek olabilirsiniz.

5 yorum “2.8 WordPress Döngüsü Örnekleri”

Bir cevap yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu kadar HTML serbest:

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