BU DERSİN BAŞLIKLARI
- 1 Koşullu İfadeler Nerede Kullanılır?
- 2 Hangi Koşullu İfadeler Kullanılabilir?
- 2.1 Ana Sayfa (Ön Sayfa) Mı?
- 2.2 Yönetim Paneli Mi?
- 2.3 Tek Yazı Mı?
- 2.4 Tek Yazı – Tek Sayfa veya Ek Dosyası Mı?
- 2.5 Blogun En Üstüne Sabitlenen Yazı Mı?
- 2.6 Yazı Tipine Göre Koşul Oluşturma
- 2.7 Hiyerarşik Yazı Tipi Mi?
- 2.8 Yazı Tipi Arşivi Mi?
- 2.9 Yorum Popup Sayfası Mı?
- 2.10 Yorumlar Açık Mı?
- 2.11 Pingler Açık Mı?
- 2.12 Bir “Sayfa” Sayfası Mı?
- 2.13 Sayfalama Özelliği Olan Bir Sayfayı Test Etme
- 2.14 Alt Sayfa (sub-page) Kontrolü
- 2.15 Sayfa Şablonu Mu?
- 2.16 Kategori Sayfası Mı?
- 2.17 Etiket Sayfası Mı?
- 2.18 Sınıflandırma Sayfası Mı?
- 2.19 Sonradan Eklenmiş Bir Sınıflandırma Mı?
- 2.20 Bir Yazar Sayfası Mı?
- 2.21 Çok Yazarlı Bir Site Mi?
- 2.22 Tarih Temelli Bir Sayfa Mı?
- 2.23 Herhangi Bir Arşiv Sayfası Mı?
- 2.24 Bir Arama Sonucu Sayfası Mı?
- 2.25 Bir 404 – Sayfa Bulunamadı Sayfası Mı?
- 2.26 Bir Ortam Dosyası Mı?
- 2.27 Tek Yazı, Sayfa veya Bir Ek Mi?
- 2.28 Bir Sendikasyon / Besleme Sayfası Mı?
- 2.29 Bir Trackback Mi?
- 2.30 Ön İzleme Sayfası Mı?
- 2.31 Özeti Var Mı?
- 2.32 Bir Menü Atanmış Mı?
- 2.33 Sayfa Yanı (Sidebar) Aktif Mi?
- 2.34 Bir Network’un Parçası Mı? (Çoklusite)
- 2.35 Ana Site Mi?
- 2.36 Network Yöneticisi Mi?
- 2.37 Eklenti Atif Mi?
- 2.38 Bir Yavru Tema Mı?
- 2.39 Tema Bir Özelliği Destekliyor Mu?
- 3 Koşullu İfadelerin Tamamı
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 birlikteadd_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()
1 yorum: “2.13 Koşullu İfadeler”