Online Kimya Özel Dersi Al

ÜCRET

KONU

TARİH

2.7 WordPress Döngüsü (Loop)

wordpress tema yapımı

WordPress döngüsü, yönetim panelinden eklediğiniz, sayfa ve yazıları, temanızın sayfalarında göstermenin yoludur. Bu yüzden, WordPress döngüsü, tema sayfalarınızı oluşturan, şablon dosyalarında kullanılır.

page.php gibi, tipi sayfa olan içeriklerinize ait şablon dosyalarında da döngü kullanmalısınız, single.php gibi, tipi yazı olan içeriklerinize ait şablon dosyalarında da.

WordPress döngüsü, şablon dosyası, hangi içeriğiniz ya da içerik arşiviniz için hazırlanmışsa o kadar içerik getirir. Mesela, single.php veya page.php şablonlarındaki döngü, sadece bir tane yazı veya sayfa getirirken, category.php şablonundaki döngü, bir kategorideki, bütün yazı arşivini getirir. Çünkü, WordPress, single.php veya page.php şablonlarını bir defada bir içerik göstermek için kullanır, fakat category.php şablonunu, bir kategoriye ait bütün yazıları içeren bir arşivi göstermek için kullanır.

Çok sayıda yazınız varsa, arşiv şablonlarınızda, sayfalama özelliği kullanabilirsiniz. WordPress döngüsünün, bir arşiv sayfasında kaç tane yazıyı getireceğini, yönetim panelindeki, Ayarlar -> Okuma menüsünden ayarlayabilirsiniz.

Döngü sayesinde, WordPress, içeriklerinizi veritabanınızda kaydedildikleri yerden getirir ve sitenizin sayfalarına, şablonunuzun stiline uygun olarak koyar.

Döngü, her bir içerik için, veritabanına kaydedilmiş dataları, şablon fonksiyonlarının çağırdığı yerlerde gösterir.

Döngü içinde kullandığınız, her bir HTML veya PHP kodu, her bir içeriğe, aynı şekilde uygulanacaktır. Bu yüzden, aynı döngünün ürettiği içeriklerin stili birbirinin tıpatıp aynısı olacaktır. WordPress, temamızda meydana gelecek, bu monotonluğu engellemek için, her bir içeriğe veya içerik arşivine ait, ayrı bir şablon hazırlamayı mümkün kılar.

WordPress döngüsünü farklı şekillerde kullanabilirsiniz. Mesela:

  • Yazdığınız yazıların ya da sayfaların sadece başlıklarını listelemek için
  • Tek bir yazıyı ya da bir sayfayı göstermek için, dilerseniz o içeriğe yapılan yorumları da birlikte göstermek için
  • Koşullu ifadeleri kullanarak, bir içeriği, sadece belli sayfalarda göstermek için
  • Özel yazı tiplerinizi ve özel alanlarınızdaki dataları göstermek için

Döngü içerisine yazacağınız HTML ve CSS kodları sayesinde, içeriklerinizin temanızda hangi biçimde gösterileceği tamamen sizin elinizdedir. Ayrıca, belli tipteki içeriklerinizi, diğerlerinden farklı biçimlerde göstermek için döngü içine, koşullu ifadeler de ekleyebilirsiniz.

WordPress Döngüsünü Kodlama

Aslında, bir WordPress döngüsünün temel öğeleri oldukça basittir ve şöyledir:

<?php if ( have_posts() ) : ?>
  <?php while ( have_posts() ) : the_post(); ?>
    <!-- ... Şablon fonksiyonları yardımı ile içerik buraya çağırılacak -->
  <?php endwhile; ?>
<?php endif; ?>

Temel parçaları verilen WordPress döngüsü, bu haliyle ekrana hiç bir çıktı vermez, çünkü; döngü içerisinde bir şablon fonksiyonu kullanılmamıştır.

WordPress döngüsünün temel öğelerine, daha yakından bakalım:

  • have_posts() fonksiyonu, veritabanında içerik var mı yok mu diye kontrol eder.
  • Eğer veritabınında kayıtlı içeriğiniz varsa, while ifadesinin parantezindeki have_posts() koşulu true değerini alacaktır ve döngü dönmeye başlayacaktır.
  • İstenilen içeriklerin hepsi getirilene kadar, döngü dönmeye devam eder.

WordPress Döngüsünün Kullanımı

WordPress döngüsü, 404.php dosyası haricindeki bütün şablon dosyalarında kullanılır ve her zaman, get_header() fonksiyonunu çağırdıktan sonra başlar.

<?php get_header(); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <!-- ... Şablon fonksiyonları yardımı ile içerik buraya çağırılacak -->
<?php endwhile; endif; ?>

Yukarıdaki örnekte görüldüğü gibi, döngü her zaman if ve while ifadeleri ile başlar ve her zaman endwhile ve endififadeleri ile biter.

Şablon fonksiyonları, döngünün başlangıç ve bitiş ifadeleri arasında yer almalıdır.

Eğer, döngü, veritabanından getirecek bir içerik bulamazsa, yani döngünün if kısmı false değerini alırsa, döngüye, bir else kısmı ekleyerek, kendinize özel bir 404 -sayfa bulunamadı- mesajı verebilirsiniz, hatta bu mesajı, buraya özel bir şablon parçası oluşturarak da –content-none.php gibi- verebilirsiniz. Bu mesaj, aşağıda görüldüğü gibi, endwhile ile endif ifadeleri arasında olmalıdır.

Oldukça temel bir döngü ile hazırlanmış bir index.php dosyası şu şekilde olacaktır:

<?php get_header(); ?>
   <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
        <h1 class="baslik"><?php the_title(); ?></h1>
        <div class="icerik"><?php if(is_single()) the_content(); else the_excerpt(); ?></div>
   <?php endwhile; ?>
   <?php else : ?>
    <h2 class="sayfa-bulunamadi"><?php _e( 'Üzgünüm, aradığınızı bulamadık.', 'textdomain' ); ?></h2>
   <?php endif; ?>
   <?php get_sidebar(); ?>
   <?php get_footer(); ?>

WordPress, bu şablon dosyasını, hangi içerikleri göstermek için kullanacağına, şablon hiyerarşisi kurallarına göre karar verir.

WordPress Döngüsü Neler Yapabilir?


WordPress döngüsü, şablon fonksiyonları yardımı ile, yazılara ait bir çok farklı özelliği gösterebilir. Aşağıda, sıkça kullanılan bazı şablon fonksiyonları verilmiştir:

  • next_post_link() – Görüntülenen sayfadaki yazıdan bir sonraki yazıya bir link verir.
  • previous_post_link() – Sayfadaki yazıdan bir önceki yazıya link verir.
  • the_category() – Yazının dahil edildiği kategorileri gösterir.
  • the_author() – Yazının yazırını getirir.
  • the_content() – Yazı ya da sayfa metnini getirir.
  • the_excerpt() – Klasik editörlerde yazılmış yazıların ilk 55 harfini, Gutenberg editörü (blok editör) ile yazılmış yazıların özetini getirir ve “devamını oku” analmında (…) şeklinde bir link verir.
  • the_ID() – Sayfa ya da yazının id değerini getirir.
  • the_meta() – Sayfa ya yazının özel alan bilgilerini getirir.
  • the_shortlink() – Yazı ya da sayfalara ait, sitenin adını ve içeriğin id değerini içeren bir link oluşturur.
  • the_tags() – İçeriğe ait etiketleri getirir.
  • the_title() – İçeriğin başlığını getirir.
  • the_time() – İçeriğin oluşturulma zamanını getirir ve getirdiği bu tarih, PHP diline ait, standart zaman fonksiyonları ile biçimlendirilebilir.

İçeriklere ait yukarıdaki bilgileri getirebileceğiniz gibi, bir döngü içerisinde, aşağıda verilen koşullu ifadeleri kullanarak, içeriklerin belli koşullar yerine geldiğinde gösterilmesini de sağlayabilirsiniz. Bu koşul fonksiyonları şunlardır:

  • is_home() – Eğer görüntülenen sayfa ana sayfa ise true değerini döndürür.
  • is_admin() – Eğer görüntülenen sayfa Yönetim Paneli ise true değerini döndürür.
  • is_single() – Eğer, görüntülenen sayfada, tek bir yazı gösteriliyorsa true değerini döndürür.
  • is_page() – Eğer gösterilen sayfa, bir “sayfa” içeriğine aitse, true değerini döndürür.
  • is_page_template() – Görüntülenen sayfanın, özel bir sayfa şablonu kullanıp kullanmadığını öğrenmek isdeğinizde işini görür. Mesela;
is_page_template( 'benim-sayfam.php' )

ifadesi, ekrandaki sayfanın benim-sayfam.php şablonunu kullanması durumunda true değeri alacaktır.

  • is_category() – Bir yazının, bu fonksiyonda belirtilen kategoriye ait olup olmadığını anlamamızı sağlar. Mesela;
is_category( 'kitap' )

ifadesi, yazının “kitap” kategorisinden bir yazı olması durumunda true döndürür.

  • is_tag() – Bir yazının, belirtilen etikete sahip olması durumunda true döndürür.
  • is_author() – Bir yazının, belirtilen yazara ait olması durumunda true döndürür.
  • is_search() – Görüntülenen sayfanın, bir arama sayfası olması durumunda true döndürür.
  • is_404() – Görüntülenen sayfanın, 404.php sayfası olması durumunda, true döndürür.
  • has_excerpt() – Bir yazı, özet içeriyorsa true döndürür.

DERSİN SONU

Kimya Özel Dersi Al

Yorum yaparak bize destek olabilirsiniz.

1 yorum: “2.7 WordPress Döngüsü (Loop)”

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>