Online Kimya Özel Dersi Al

ÜCRET

KONU

TARİH

2.13 Koşullu İfadeler

wordpress tema yapımı

Koşullu ifadeler, içeriklerinizi, belli koşullar gerçekleştiğinde göstermenizi sağlar. WordPress’e, gösterilecek içeriğin hangi şartlar yerine geldiğinde gösterilmesi gerektiğini söyler. Koşullu ifadeler, PHP’nin if/else yapısı kullanılarak oluşturulur.

Koşullu ifade, önce koşulun gerçekleşip gerçekleşmediğini kontrol eder. Gerçekleşirse true değerini alır, gerçekleşmezse false değerini alır. Eğer koşul true değerini alırsa, koşulun devamındaki kod bloğu çalışır; false değerini alırsa koşulun devamındaki kod bloğu görmezden gelinir ve eğer varsa else bloğundaki kod çalışır.

Örneğin; bir ziyaretçinizin, üye girişi yapıp yapmadığını kontrol ederek, ona koşullu bir selam verebilirsiniz:

if ( is_user_logged_in() ): // üye girişi yapmışsa
    echo 'Hoşgeldiniz sayın üyemiz. Sizi özledik!';
else: // üye girişi yapmamışsa
    echo 'Hoşgeldiniz sayın ziyaretçimiz!';
endif;

Koşullu ifadeleri etkili biçimde kullanabilmek için, WordPress temalarının şablon hiyerarşisini bilmek gerekir.

Koşullu İfadeler Nerede Kullanılır?

Bir koşullu ifadenin doğru çalışabilmesi için, koşulda kullanılan dataların, veritabanından, koşul ifadesi çalışmadan önce çağırılmış olması gerekir. Eğer koşulda kullanılan datalar, veritabanından henüz gelmemiş ise, ortada if ifadesinin sorgulayabileceği bir veri de yok demektir.

WordPress functions.php dosyasını, tema veya şablon dosyalarımız ile ilgili olan ana sorgudan önce yükler. Yani, functions.php dosyasında, şablonlarımız veya temamız ile ilgili koşullu bir ifade kullanacaksak, bunu after_setup_theme kancasını kullanarak yapmalıyız, aksi taktirde, koşullu ifade, çalışmayacaktır.

Özet olarak, WordPress’te, şablon fonksiyonları veya tema fonksiyonları içeren koşullu ifadeleri kullanmanın iki yolu vardır. Bu iki yol şöyledir:

  • Şablon dosyalarında kullanmak,
  • functions.php dosyasında, kapsayıcı bir fonksiyon içinde kullanmak ve bu fonksiyonu, after_setup_theme veya benzeri bir kanca ile birlikte add_action/add_filter fonksiyonlarından biriyle tetiklemek.

Aşağıda, functions.php dosyasındaki kullanım için bir örnek verilmiştir:

// koşullu ifade için oluşturulan fonksiyon
function ilktemam_benim_fonksiyonum() { 
    // koşullu ifade burada olacak 
}
     
// add_action, ilktemam_benim_fonksiyonum fonksiyonunun tetikleneceği şartları belirtir
// after_setup_theme kancası ile, fonksiyon, tema dosyaları yüklendikten sonra çalışır
add_action( 'after_setup_theme', 'ilktemam_benim_fonksiyonum' );

Hangi Koşullu İfadeler Kullanılabilir?

Aşağıda, koşul olarak kullanabileceğimiz ifadeler verilmiştir. Bu ifadeler, aynı zamanda, birer şablon fonksiyonudur. Bu fonksiyonların aldığı parametreler de yeri geldikçe açıkalanacaktır.

Ana Sayfa (Ön Sayfa) Mı?

is_front_page()

is_front_page() fonksiyonu, ekrandaki sayfanın ana sayfa olması durumunda true, aksi durumda false değerini döndürür.

Ana sayfanız, yaptığınız ayarlara veya var olan şablon dosyalarınıza göre değişiklik gösterebilir. Temanızın, hangi şablonu, ana sayfa olarak kullanacağını anlamak için Şablon Hiyerarşisi dersimizin, Ana Sayfa Şablonu başlığına bakabilirsiniz.

Yönetim Paneli Mi?

is_admin()

is_admin() fonksiyonu, ekrandaki sayfanın yönetim paneli/dashboard olması durumunda true, aksi durumda false değerini döndürür.

Tek Yazı Mı?

is_single()

is_single() fonksiyonu, ekrandaki sayfanın tek bir yazıyı ya da resim, pdf… gibi bir ek dosyasını gösteriyor olması durumunda true, aksi durumda false değerini döndürür.

is_single('17')

is_single() fonksiyonu, aynı zamanda, ekranda belli bir ID değerine sahip bir yazının gösterilip gösterilmediğini de kontrol eder. Mesela; is_single('17') ifadesi, ekranda, ID değeri 17 olan yazı varsa true yoksa false değerini döndürür.

is_single('Kediler Ne Yer')

is_single() fonksiyonu, aynı zamanda, ekranda belli bir başlıktaki yazının gösterilip gösterilmediğini de kontrol eder. Mesela; is_single('Kediler Ne Yer') ifadesi, ekranda, “Kediler Ne Yer” başlıklı yazı varsa true yoksa false değerini döndürür.

is_single('kediler-ne-yer')

is_single() fonksiyonu, aynı zamanda, ekranda belli bir link adına sahip bir yazının gösterilip gösterilmediğini de kontrol eder. Mesela; is_single('kediler-ne-yer') ifadesi, ekranda, link adı, “kediler-ne-yer” şeklindeki yazı varsa true yoksa false değerini döndürür.

is_single(array(17, 'Kediler Ne Yer', 'kediler-ne-yer'))

is_single() fonksiyonu, aynı zamanda, ekranda belli bir dizideki yazılardan birinin gösterilip gösterilmediğini de kontrol eder. Mesela; is_single(array(17, 'Kediler Ne Yer', 'kediler-ne-yer')) ifadesi, ekranda, ID değeri 17 olan veya başlığı “Kediler Ne Yer” olan ya da link adı, “kediler-ne-yer” şeklindeki yazı varsa true yoksa false değerini döndürür.

is_single(array(17, 19, 132, 4 ))

is_single(array(17, 19, 132, 4)) ifadesi, ekranda, ID değerleri 17, 19, 132 veya 4 olan yazılardan herhangi biri varsa true yoksa false değerini döndürür.

is_single(array('Kediler Kaç Yıl Yaşar', 'Kediler Ne Yer', 'Kediler Hangi Aralıkla Doğurur'))

Yukarıda ifade, ekranda, başlığı, “Kediler Kaç Yıl Yaşar” veya “Kediler Ne Yer” veya “Kediler Hangi Aralıkla Doğurur” olan yazılardan herhangi biri varsa true yoksa false değerini döndürür.

is_single(array('kediler-kac-yil-yasar', 'kediler-ne-yer', 'kediler-hangi-aralikla-dogurur'))

Yukarıda ifade, ekranda, link adı, “kediler-kaç-yil-yasar” veya “kediler-ne-yer” veya “kediler-hangi-aralikla-dogurur” olan yazılardan herhangi biri varsa true yoksa false değerini döndürür.

Bu fonksiyon, bir yazının ID değeri ile başlığı arasındaki farkı anlayamaz. Yine bu fonksiyon, önce yazının başlık değerini, sonra link adını, sonra ID değerini sorgular. Mesela, birinin başlığı “17” diğerinin de ID değeri 17 olan iki farklı yazınız olsun. Parametre olarak 17 girdiğinizde, bu fonksiyon, her zaman başlığı 17 olan yazıyı bulacaktır. Link adı “17” olan yazı için de aynı durum geçerlidir.

Tek Yazı – Tek Sayfa veya Ek Dosyası Mı?

is_singular()

is_singular() ifadesi, is_single(), is_page() ve is_attachment() koşullarından herhangi birinin true değerini aldığı durumlarda true değerini alır, her üç koşul da sağlanmamışsa false değerini döndürür. Bu fonksiyon aynı zamanda içerik tiplerini de test eder.

Blogun En Üstüne Sabitlenen Yazı Mı?

is_sticky()

is_sticky() ifadesi, bir yazı düzenlenirken, bu yazı için. “Blogun en üstüne sabitle” kutucuğu işaretlenmişse true işaretlenmemişse false değerini döndürür.

is_sticky('17')

is_sticky('17') ifadesi, ID değeri 17 olan yazı düzenlenirken, ” Blogun en üstüne sabitle ” kutucuğu işaretlenmişse true işaretlenmemişse false değerini döndürür.

Yazı Tipine Göre Koşul Oluşturma

get_post_type()

get_post_type() fonksiyonu ile, ekranda gösterilen içeriğin, hangi içerik tipine ait olduğunu sorgulayabilirsiniz. Aşağıdaki ifade, ekrandaki içerik, “kitap” adındaki içerik tipinize aitse true değilse false değerini döndürür.

if ( 'kitap' == get_post_type() ) {
  // ekranda kitap tipine ait bir yazı gösteriliyorsa burası çalışır
}

is_post_type() fonksiyonu ile, önce bir içerik tipinin var olup olmadığın kontrol edebilirsiniz. Mesela, aşağıdaki ifade, “kitap” adında bir içerik tipiniz kayıtlı ise true değilse false değerini döndürür.

if ( 'kitap' == is_post_type() ) {
  // kitap tipinde bir yazı tipiniz var ise burası çalışır
}

Hiyerarşik Yazı Tipi Mi?

is_post_type_hierarchical($post_type)

Bir içerik tipi oluşturulurken, hiyerarşik yapıda oluşturulmuş ise bu fonsksiyon true döndürür.

Sayfalar gibi, altı ve üstü olan içerik tipleri, hiyerarşik yapıda olur.

Aslında hiyerarşik yapıyı, en iyi kategorilerden biliriz. Kategoriler bir içerik türü değil, sınıflandırma türüdür fakat alt kategori ve üst kategori özellikleri sayesinde, hiyerarşik bir yapıdadırlar.

is_post_type_hierarchical( ‘kitap’ )

Yukarıdaki ifade, “kitap” adındaki içerik tipi, hiyerarşik ise true değilse false değerini döndürür.

Yazı Tipi Arşivi Mi?

is_post_type_archive()

is_post_type_archive() fonksiyonu, ekranda gösterilen sayfa, bir yazı tipine ait yazıların sıralandığı bir arşiv sayfası ise ise true değilse false değerini döndürür.

is_post_type_hierarchical( ‘kitap’ )

is_post_type_archive() fonksiyonu, ekranda gösterilen sayfa, “kitap” adındaki yazı tipine ait yazıların sıralandığı bir arşiv sayfası ise ise true değilse false değerini döndürür.

Bu koşul fonksiyonunu kullanabilmek için, yeni bir içerik tipi kaydederken, has_archive => true parametresini girmemiz gerekir.

Yorum Popup Sayfası Mı?

is_comment_popup()

is_comment_popup() fonksiyonu, ekranda gösterilen sayfa, bir yorum popup sayfası ise ise true değilse false değerini döndürür.

Yorumlar Açık Mı?

comments_open()

comments_open() fonksiyonu, ekranda gösterilen içerik için yorumlar açıksa true değilse false değerini döndürür.

Pingler Açık Mı?

pings_open()

pings_open() fonksiyonu, ekranda gösterilen içerik için pingler açıksa true değilse false değerini döndürür.


Bir “Sayfa” Sayfası Mı?

Yönetim panelinden, Sayfalar->Yeni ekle menüsü ile oluşturulan içeriklere, sayfa tipi içerikler denir. Bu içerik tipi, veritabanına “page” adıyla kaydedilir. Tipi sayfa olan içerikleriniz için kullanılabilecek koşullu ifadeler şunlardır:

is_page()

is_page() fonksiyonu, ekrandaki sayfanın “sayfa” tipinde bir içeriğe ait olması durumunda true, aksi durumda false değerini döndürür.

is_page('17')

is_page() fonksiyonu, aynı zamanda, ekranda belli bir ID değerine sahip bir sayfanın gösterilip gösterilmediğini de kontrol eder. Mesela; is_page('17') ifadesi, ekranda, ID değeri 17 olan sayfa varsa true yoksa false değerini döndürür.

is_page('Hakkımızda')

is_page() fonksiyonu, aynı zamanda, ekranda belli bir başlıktaki sayfanın gösterilip gösterilmediğini de kontrol eder. Mesela; is_page('Hakkımızda') ifadesi, ekranda, “Hakkımızda” başlıklı sayfa varsa true yoksa false değerini döndürür.

is_page('hakkimizda')

is_page() fonksiyonu, aynı zamanda, ekranda belli bir link adına sahip bir sayfanın gösterilip gösterilmediğini de kontrol eder. Mesela; is_page('hakkimizda') ifadesi, ekranda, link adı, “hakkimizda” şeklindeki sayfa varsa true yoksa false değerini döndürür.

is_page(array(17, 'Hakkımızda', 'hakkimizda'))

is_page() fonksiyonu, aynı zamanda, ekranda, dizideki bilgilere sahip, sayfanın gösterilip gösterilmediğini de kontrol eder. Mesela; is_page(array(17, 'Hakkımızda', 'hakkimizda')) ifadesi, ekranda, ID değeri 17 olan veya başlığı “Hakkımızda” olan ya da link adı, “hakkimizda” şeklinde olan bir sayfa varsa true yoksa false değerini döndürür.

is_page(array(17, 19, 132, 4 ))

is_page(array(17, 19, 132, 4)) ifadesi, ekranda, ID değerleri 17, 19, 132 veya 4 olan sayfalardan herhangi biri varsa true yoksa false değerini döndürür.

Sayfalama Özelliği Olan Bir Sayfayı Test Etme

Bir yazı ya da sayfa içeriğine, HTML kodu olarak:

<!--nextpage-->

ifadesi eklerseniz, bu yazı ya da sayfayı ikiye bölmüş ve bu içeriğe sayfalama özelliği kazanadırmış olursunuz.

Sayfalanmış bir içeriğiniz var ve bazı özellikleri sadece 1. sayfada göstermek istiyorsunuz diyelim. Bunun için aşağıdaki iki kod işinizi görecektir:

<?php
  $paged = $wp_query->get( 'page' );
  if ( ! $paged || $paged < 2 ) {
    // Bu sayfa, sayfalanmış bir sayfa/yazı değilse veya sayfalanmış olsa bile ilk sayfası ise
 } else {
    // Sayfalanmış bir içeriğin diğer sayfaları.
 } ?>

veya

<?php $paged = get_query_var( 'page' ) ? get_query_var( 'page' ) : false;
    if ( $paged == false )  {
    // Bu sayfa, sayfalanmış bir sayfa/yazı değilse veya sayfalanmış olsa bile ilk sayfası ise
    }  else  {
    // Sayfalanmış bir içeriğin diğer sayfaları.
    }
?>

Alt Sayfa (sub-page) Kontrolü

Sayfa türündeki bir içeriğin alt sayfa veya üst sayfa olduğunu test etmek için kullanabileceğimiz hazır bir fonksiyon yoktur. Fakat, aşağıdaki kod ile bu amaca ulaşabiliriz:

<?php  global $post; // döngünün dışındaysak
   if ( is_page() && $post->post_parent ) {
    // Bu bir alt sayfadır
          } else {
    // Bu bir alt sayfa değildir
    }
?>

Ya da kendi is_subpage() fonksiyonumuzu yazabiliriz:

function is_subpage() {
    global $post;          // bu sayfanın detaylarını yükle
    if ( is_page() && $post->post_parent ) {   // sayfanın üst sayfası var mı test et
        return $post->post_parent;             // varsa üst sayfanın ID değerini döndür
    } else {                                   // yoksa...
        return false;                          // ... false değerini döndür
    }
}

Bu fonksiyonu, functions.php dosyasına ekleyebilirsiniz. Fonksiyon, ekrandaki sayfanın, bir üst sayfası varsa, bu üst sayfanın ID değerini döndürüyor, yoksa false değerini döndürüyor.

Örneğin, üst sayfası “Hakkımızda” olan bütün alt sayfaların, üst bölümünde, “Hakkımızda” sayfası ile aynı resmi kullanmak isteyelim. Bunun için, bir sayfanın, ya kendisinin ya da üst sayfasının, “Hakkımızda” sayfası olup olmadığını bilmemiz gerekir. Bu işlemi sadece “Hakkımızda” sayfası için değilde başka üst sayfalar ve bağlı sayfaları için de yapmak isteyelim. Aşağıdaki kod, bu görevi yapmaktadır:

<?php if ( is_page( 'hakkimizda' ) || '2' == $post->post_parent ) {
    // Hakkımızda sayfası veya üst sayfası hakkımızda olanlar
    $bannerimg = 'hakkimizda_sayfalari.jpg';
} elseif ( is_page( 'faaliyetlerimiz' ) || '56' == $post->post_parent ) {
    $bannerimg = 'faaliyet_sayfalari.jpg';
} elseif ( is_page( 'ekibimiz' ) || '15' == $post->post_parent ) {
    $bannerimg = 'ekibimiz_sayfalari.jpg';
} else {
    $bannerimg = 'anasayfa.jpg'; // geriye kalan bütün sayfalarda
}
// $bannerimg dosyasını, header.php veya footer.php... dosyanızda kullandığnızda, sayfa türüne göre farklı resimler yüklenecektir.
?>

Yukarıdaki kodda; 2, 56 ve 15 değerleri sayfaların ID değeridir.

Aşağıdaki fonksiyon, girdiğimiz ID değerine sahip sayfada veya bu sayfanın alt soyunda true değerini, diğer sayfalarda false değerini döndürür.

function is_tree( $pid ) {      // $pid = Kendisini ya da alt soyunu aradığımız sayfanın ID değeri
    global $post;               // bu sayfa ile ilgili detayları yükle
 
    if ( is_page($pid) )
        return true;            // O sayfadayız
 
    $anc = get_post_ancestors( $post->ID ); // ekrandaki sayfanın atalarının ID değerlerini bulduk
    foreach ( $anc as $ancestor ) {
        if( is_page() && $ancestor == $pid ) { // bir "sayfa" olacak ve atası bizim girdiğimiz sayfa olacak
            return true;
        }
    }
 
    return false;  // kendisi ya da atası aradığımız sayfa değil
}

Hiyerarşinizde, birden fazla seviyeniz varsa, aradığınız sayfanın, en altta, aralarda veya hiyerarşinin en üstünde yer alabileceğini unutmayın.

Sayfa Şablonu Mu?

is_page_template()

Ekrandaki sayfa bir sayfa şablonu ise true değerini döndürür.

is_page_template( ‘hakkimizda.php’ )

Ekrandaki sayfa, hakkımızda sayfası için hazırladığınız şablon sayfası ise true değerini döndürür.

is_page_template( ‘sayfa-sablonlari/hakkimizda.php’ )

Ekrandaki sayfa, sayfa-sablonlari kalsörü içinde bulunan ve hakkımızda sayfası için hazırladığınız şablon sayfası ise true değerini döndürür.

Kategori Sayfası Mı?

is_category()

is_category() fonksiyonu, ekrandaki sayfa bir kategori sayfası ise true değerini döndürür.

is_category( ‘9’ )

Bu fonksiyon, ekrandaki sayfa ID değeri 9 olan kategoriye ait bir sayfa ise true değerini döndürür.

is_category( ‘Ayakkabılar’ )

Bu fonksiyon, ekrandaki sayfa, adı “Ayakkabılar” olan kategoriye ait bir sayfa ise true değerini döndürür.

is_category( ‘ayakkabilar’ )

Bu fonksiyon, ekrandaki sayfa, link adı “ayakkabilar” olan kategoriye ait bir sayfa ise true değerini döndürür.

is_category( 9, 'ayakkabilar', 'T-Şörtler' )

Bu fonksiyon, ekrandaki sayfa, ID değeri 9, link adı “ayakkabilar” veya adı “T-Şörtler” olan kategorilerden birine ait bir sayfa ise true değerini döndürür.

in_category( ‘5’ )

Bu fonksiyon, ekrandaki yazı, ID değeri 5 olan kategoriye ait bir yazı ise true değerini döndürür.

in_category(array( 1, 2, 3 ))

Bu fonksiyon, ekrandaki yazı, ID değeri 1,2 veya 3 olan kategorilerden birine ait bir yazı ise true değerini döndürür.

! in_category(array( 1, 2, 3 ))

Bu fonksiyon, ekrandaki yazı, ID değeri 1,2 veya 3 olan kategorilerden birine ait bir yazı değilse true değerini döndürür.


Etiket Sayfası Mı?

is_tag()

is_tag() fonksiyonu, ekrandaki arşiv sayfası, bir etiket sayfası ise true değerini döndürür.

is_tag( ‘mavi’ )

Bu fonksiyon, ekrandaki arşiv sayfası, link adı “mavi” olan bir etikete ait bir sayfa ise true değerini döndürür.

is_tag( array('yesil', 'mavi', 'sari') )

Bu fonksiyon, ekrandaki arşiv sayfası, link adı “yesil”, “mavi” ya da “sari” olan etiketlerden birine ait bir sayfa isetrue değerini döndürür.

has_tag()

Bu fonksiyon, ekrandaki yazının etiketleri varsa true değerini döndürür. Bu fonksiyon döngü içinde kullanılır.

has_tag('mavi')

Bu fonksiyon, ekrandaki yazının, link adı “mavi” olan bir etiketi varsa true değerini döndürür. Bu fonksiyon döngü içinde kullanılır.

has_tag('mavi', 'yesil', 'sari')

Bu fonksiyon, ekrandaki yazının, link adı “mavi”, “yesil” ya da “sari” olan bir etiketi varsa true değerini döndürür. Bu fonksiyon döngü içinde kullanılır.


Sınıflandırma Sayfası Mı?

is_tax()

is_tax() fonksiyonu, ekrandaki sayfa, herhangi bir sınıflandırmaya ait bir arşiv sayfası ise true değerini döndürür.

is_tax( ‘mavi’ )

Bu fonksiyon, ekrandaki sınıflandırma arşivi sayfası, link adı “mavi” olan bir sınıfa ait bir sayfa ise true değerini döndürür.

is_tax( array('yesil', 'mavi', 'sari') )

Bu fonksiyon, ekrandaki sınıflandırma arşivi sayfası, link adı “yesil”, “mavi” ya da “sari” olan sınıflardan birine ait bir sayfa isetrue değerini döndürür.

is_tax( 'kazaklar', array('yesil', 'mavi', 'sari') )

Bu fonksiyon, ekrandaki sınıflandırma arşivi sayfası, link adı “kazaklar” olan ve aynı zamanda “yesil”, “mavi” ya da “sari” sınıflardan en az birine de ait bir sayfa ise true değerini döndürür.

has_term('sinifi','siniflandirmasi')

Bu fonksiyon, ekrandaki yazını, parametrede belirtilen sınıf ve sınıflandırmaya aitse true değerini döndürür. Birinci parametre boş bırakılabilir fakat ikinci parametre bir sınıflandırma yönteminin adı ya da link adı olmalıdır. Bu fonksiyon döngü içinde kullanılır.

has_term( array( ‘green’, ‘orange’, ‘blue’ ), ‘renk’ )

Bu fonksiyon, ekrandaki yazı, “renk” sınıflandırması içinde, “yeşil”, “mavi” ya da “sari” link adındaki sınıflardan birine aitse true değeri alır.

Sonradan Eklenmiş Bir Sınıflandırma Mı?

taxonomy_exists()

taxonomy_exists('renkler') fonksiyonu, sonradan eklenmiş “renkler” adında bir sınıflandırma var ise true değerini döndürür.

Bir sınıflandırma eklemek için register_taxonomy() fonksiyonu kullanılır.

Bir Yazar Sayfası Mı?

is_author()

is_author() fonksiyonu, ekrandaki sayfa, bir yazarın yazı arşivi ise true değerini döndürür.

is_author('4')

Bu fonksiyon, ekrandaki sayfa, ID numarası 4 olan yazarın yazı arşivi ise true değerini döndürür.

is_author('Cüneyt')

Bu fonksiyon, ekrandaki sayfa, Cüneyt diye bir nickname kullananan yazarın yazı arşivi ise true değerini döndürür.

is_author('cuneyt-arkin')

Bu fonksiyon, ekrandaki sayfa, güzel adı “cuneyt-arkin” olan yazarın yazı arşivi ise true değerini döndürür.

is_author(4, 'cuneyt-arkin', 'Yakışıklı')

Bu fonksiyon, ekrandaki sayfa, ID değeri 4 veya güzel adı “cuneyt-arkin” veya nickname’i “Yakışıklı” olan yazarın yazı arşivi ise true değerini döndürür.

Çok Yazarlı Bir Site Mi?

is_multi_author()

is_multi_author() fonksiyonu, bir web sitesinde, birden çok yazar yazı yayınlamış ise true değerini döndürür.

Tarih Temelli Bir Sayfa Mı?

is_date()

Ekrandaki arşiv sayfası, herhangi bir tarihe göre oluşturulmuş bir arşiv sayfası ise true değerini döndürür.

is_year()

Ekrandaki arşiv sayfası, bir yıla göre oluşturulmuş bir arşiv sayfası ise true değerini döndürür.

is_month()

Ekrandaki arşiv sayfası, bir aya göre oluşturulmuş bir arşiv sayfası ise true değerini döndürür.

is_day()

Ekrandaki arşiv sayfası, bir güne göre oluşturulmuş bir arşiv sayfası ise true değerini döndürür.

is_time()

Ekrandaki arşiv sayfası, bir saate, dakikaya veya saniyeye göre oluşturulmuş bir arşiv sayfası ise true değerini döndürür.

is_new_day()

Bir yazının yayınlandığı tarihe göre yeni bir gün ise true değerini döndürür. Döngü içinde kullanılmalıdır.

Herhangi Bir Arşiv Sayfası Mı?

is_archive()

Ekranda bir arşiv sayfası var ise true değerini döndürür. Kategori sayfası, etiket sayfası, yazar sayfası ve tarihe dayalı sayfalar hep birer arşiv sayfasıdır.

Bir Arama Sonucu Sayfası Mı?

is_search()

Ekrandaki sayfa bir aramanın sonuçlarını gösteriyor ise true değerini döndürür.

Bir 404 – Sayfa Bulunamadı Sayfası Mı?

is_404()

Ekrandaki sayfa, 404 yani sayfa bulunamadı sayfası ise true değerini döndürür.

Bir Ortam Dosyası Mı?

is_attachment()

Ekrandaki sayfa, bir ortam dosyası sayfası ise true değerini döndürür.

Ortam dosyaları, bir sayfa ya da yazı yazılzırken, WordPress’in ortam yükleyicisi ile yüklene dosyalardır. Bu dosyalar, bulundukları içeriğin temasında gösterildiği gibi, sadece kendilerine ait bir sayfada da gösterilebilirler.

Tek Yazı, Sayfa veya Bir Ek Mi?

is_singular()

Ekrandaki sayfa, tek bir yazıya aitse veya bir sayfa türünden bir içeriğe aitse veya bir ortam dosyası sayfası ise true değerini döndürür.

Başka bir ifade ile;

is_post(), is_page(), is_attachment()

fonksiyonlarından biri true değerini döndürürse, bu fonksiyon da true değerini döndürür..

is_singular('kitap')

Ekrandaki sayfa, “kitap” tipinden özel bir yazıya aitse, bu fonksiyon true değerini döndürür.

WordPress kurulumu ile gelenler dışında, sonradan eklenen yazı tiplerine özel yazı tipleri denir.

is_singular( array( ‘gazete’, ‘kitap’ ) )

Ekrandaki sayfa, “gazete” veya “kitap” tipinden özel bir yazıya aitse, bu fonksiyon true değerini döndürür.

Bir Sendikasyon / Besleme Sayfası Mı?

is_feed()

Ekrandaki sayfa, bir besleme sayfası ise, bu fonksiyon true değerini döndürür. Bu fonksiyon daha çok eklenti geliştirenlerin yararlandığı bir fonksiyondur.

Bir Trackback Mi?

is_trackback()

İstekte bulunulan WordPress sitesinin, trackback motoruna bağlanıldığında true değerini döndürür. Bu fonksiyon daha çok eklenti geliştirenlerin yararlandığı bir fonksiyondur.

Trackback ve pingback; bağlantı kurduğumuz blogları, uyarmaya yarayan birer yöntemdir.

Ön İzleme Sayfası Mı?

is_preview()

Ekranda, bir yazının, ön izleme sayfası var ise, bu fonksiyon true değerini döndürür.

Özeti Var Mı?

has_excerpt()

Ekrandaki yazının, özeti varsa, bu fonksiyon true değerini döndürür.

has_excerpt(42)

Ekrandaki yazının ID değeri 42 ise ve özeti varsa, bu fonksiyon true değerini döndürür.

Aşağıdaki fonksiyon da, özeti olan yazıları bulur

<?php // eğer bir fonksiyonda kullanıyorsan global $post; ile içeriği çağır
   if ( empty( $post->post_excerpt ) ) {
    // Bu yazının özeti yok
   } else {
    // Bu yazının özeti var
  }
?>

Otomatik gösterilen özetleri değiştirmek ve sadece gerçek özetlerinizi göstermek istiyorsanız:

<?php
  if ( ! has_excerpt() ) { // Bu yazıların özetleri yazılmamış
      echo ''; // Otomatik özet yerine burasını göster
  } else { // Bu yazıların özeti yazılmış
      the_excerpt();
  }
?>

Bir Menü Atanmış Mı?

has_nav_menu()

Kayıt edilmiş bir menüye, yönetim panelinde oluşturulan bir menü atanmış ise, bu fonksiyon true değerini döndürür.

Sayfa Yanı (Sidebar) Aktif Mi?

is_acitve_sidebar('isim veya id veya numara')

İsmi veya ID’si verilen sayfa yanına bir bileşen eklendi ise, bu fonksiyon true değerini döndürür.

Bir Network’un Parçası Mı? (Çoklusite)

is_multisite()

Ekrandaki site, WordPress çoklusite (multisite) kurulumunun bir sitesi ise bu fonksiyon true değerini döndürür.

Ana Site Mi?

is_main_site()

Ekrandaki site, bir çoklu site ağının (network) ana sitesi ise bu fonksiyon true değerini döndürür.

Network Yöneticisi Mi?

is_super_admin()

Ekrandaki sitenin kullanıcısı bir, WordPress çoklusite (multisite) kurulumunun yöneticisi ise true değerini döndürür.

Eklenti Atif Mi?

is_plugin_active('eklentinin dosya yolu')

Dosya yolu belirtilen eklenti aktif ise true değerini döndürür. Bu fonksiyon, sizi, WordPress eklentiler klasörü olan plugins klasörüne kadar zaten götürür. Bu yüzden, parametresinde, eklentinin burdan sonraki yolu girilmelidir.

Bir Yavru Tema Mı?

is_child_theme()

Kullanımdaki tema, bir yavru tema ise true değerini döndürür.

Tema Bir Özelliği Destekliyor Mu?

current_theme_support('ozellik-adi')

Kullanımdaki temanın, parametrede belirtilen özelliği var ise true değerini döndürür.

<?php 
if (current_theme_supports('post-thumbnails')) {
  // Temanın "post-thumbnails" özelliği var ise burası çalışır...
}
?>

Koşullu İfadelerin Tamamı

  • comments_open()
  • has_tag()
  • has_term()
  • in_category()
  • is_404()
  • is_admin()
  • is_archive()
  • is_attachment()
  • is_author()
  • is_category()
  • is_child_theme()
  • is_comments_popup()
  • is_date()
  • is_day()
  • is_feed()
  • is_front_page()
  • is_home()
  • is_month()
  • is_multi_author()
  • is_multisite()
  • is_main_site()
  • is_page()
  • is_page_template()
  • is_paged()
  • is_preview()
  • is_rtl()
  • is_search()
  • is_single()
  • is_singular()
  • is_sticky()
  • is_super_admin()
  • is_tag()
  • is_tax()
  • is_time()
  • is_trackback()
  • is_year()
  • pings_open()

DERSİN SONU

Kimya Özel Dersi Al

Yorum yaparak bize destek olabilirsiniz.

1 yorum: “2.13 Koşullu İfadeler”

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>