WordPress Koşullu Etiketlerinin Nihai Rehberi

WordPress koşullu etiketleri, bir sayfada hangi içeriğin görüntüleneceğini kontrol etmenizi sağlayan WordPress’in harika bir özelliğidir. Web sitenizin ana sayfanız, blog yayınlarınız ve sayfalarınız gibi farklı alanları için koşullu etiketler vardır. Bu, web sitenizde görüntülenenleri değiştirmenize olanak tanır. Örneğin, web sitenizin logosunu web sitenizin farklı alanlarında değiştirebilirsiniz.


Bu eğitimde, hangi koşullu etiketlerin kullanılabilir olduğunu açıklayacağım ve temalarda ve eklentilerde nasıl kullanılabileceğini göstereceğim.

WordPress Koşullu Etiketleri Nasıl Çalışır?

Koşullu etiketler, yalnızca doğru veya yanlış döndürebilen bir boole veri türüdür. Örneğin is_home () etiketi blog dizinini belirtir. Blogumuzun ziyaretçilerine bir mesaj görüntülemek için bu etiketi kullanabiliriz. Bu mesaj başka bir yerde gösterilmeyecek.

Kod açıktır. Aşağıda yaptığımız tek şey, gösterilen sayfanın blog dizini sayfası olup olmadığını kontrol etmektir. Eğer öyleyse, mesajımızı gösteririz.

<?php

if (is_home ()) {

Eko "Blogumuza Hoşgeldiniz!!";

}

?>

Yukarıda koşullu etiketler kullanılarak neler elde edilebileceğinin temel bir örneğidir, ancak temelde hepsi budur. Görüntülenmekte olan sayfanın türünü kontrol ediyorsunuz. Sonucun doğru veya yanlış olmasına bağlı olarak, başka bir kod parçası işlenir.

Koşullu etiketlerin nasıl kullanılabileceğine ilişkin daha fazla örneğe bakmadan önce, önce WordPress temalarınızda kullanıldığını göreceğiniz popüler koşullu etiketlere bakalım.

  • ev() – Blog yayını dizininin görüntülenip görüntülenmediğini kontrol eder. Bu ana sayfanız da olabilir veya olmayabilir.
  • is_front_page () – Ana sayfanızın görüntülenip görüntülenmediğini kontrol eder. Bu, ön sayfa ayarlarınızın blog yayınlarını (yani blog dizini) veya statik bir sayfayı görüntüleyecek şekilde ayarlanıp ayarlanmadığını gösterir.
  • bekar() – Herhangi bir tür tek gönderinin görüntülenip görüntülenmediğini kontrol eder (ekler hariç).
  • is_attachment () – Bir ekin görüntülenip görüntülenmediğini kontrol eder.
  • is_page () – Bir sayfanın görüntülenip görüntülenmediğini kontrol eder.
  • is_singular () – Tek bir gönderinin, ekin veya sayfanın görüntülenip görüntülenmediğini kontrol eder. Bu koşullardan biri karşılandığında true döndürülür.
  • is_category () – Bir kategori arşiv sayfasının görüntülenip görüntülenmediğini kontrol eder.
  • is_search () – Bir arama sonuçları sayfasının gösterilip gösterilmediğini kontrol eder.
  • is_tag () – Bir etiket arşivinin görüntülenip görüntülenmediğini kontrol eder.
  • is_author () – Bir yazar arşiv sayfasının görüntülenip görüntülenmediğini kontrol eder.
  • is_archive () – Kategori, etiket, tarih ve yazar arşivleri dahil olmak üzere herhangi bir arşiv sayfasının görüntülenip görüntülenmediğini kontrol eder.
  • is_sticky () – Bir yayının şu şekilde tanımlanıp tanımlanmadığını kontrol eder yapışkan.
  • is_multi_author () – Birden fazla yazarın web sitesinde yayın yayınlayıp yayınlamadığını kontrol eder. İki veya daha fazla kişi yayın yayınladıysa True döndürülür. Yalnızca bir yazar yayın yayınladıysa veya hiç yayın yayınlanmadıysa, false döndürülür.

Yararlı bulacağınız altı zamana dayalı koşullu etiket vardır. Bu etiketler tarih arşivi sayfalarını ifade eder. Örneğin, http://www.yourwebsite.com/2013/12/ URL’si ay tabanlı bir arşiv sayfasıdır.

Aşağıdaki koşullu etiketlerden herhangi biri true değerini döndürürse, is_archive () yöntemi de true olur.

  • is_date () – Tarihe dayalı bir arşiv sayfası olup olmadığını kontrol eder.
  • is_year () – Yıl bazlı bir arşiv sayfası olup olmadığını kontrol eder.
  • is_month () – Ay bazlı bir arşiv sayfası olup olmadığını kontrol eder.
  • is_day () – Gün bazlı bir arşiv sayfası olup olmadığını kontrol eder.
  • zamanı() – Zamana dayalı bir arşiv sayfası olup olmadığını kontrol eder.
  • is_new_day () – Bugünün yeni bir gün olup olmadığını kontrol eder. Mevcut yayın, yayınlanmış olan bir önceki yayından farklı bir günde yayınlansaydı bu doğru olur. Her iki gönderi aynı gün yayınlandıysa yanlış döndürülür.

Sıklıkla is_home () ve is_single () gibi koşullu etiketlerle karşılaşırsınız, ancak bu koşullu etiketlerin tümünü hatırlamanız gerekmez. Çoğu WordPress kullanıcısı, koşullu bir işlev ayarlaması gerektiğinde uygun koşullu etiket için WordPress kodeksine başvurur.

Koşullu Etiket Örnekleri

Birçok koşullu etiket, parametrelerin işleve geçirilmesine izin verir. Bu, bir şey gerçekleştirilmeden önce hangi koşulların karşılanması gerektiği konusunda size daha fazla kontrol sağlar. is_page () bunun iyi bir örneğidir. Etiketi, görüntülenmekte olan sayfanın bir sayfa olup olmadığını kontrol etmenizi sağlar. is_page () öğesi, herhangi bir sayfa görüntüleniyorsa true değerini döndürür, ancak daha spesifik olmak istiyorsanız $ page parametresini belirtmeniz gerekir. $ Page parametresi sayfa kimliği, sayfa başlığı veya sayfa bilgi sayfası olabilir.

Hakkında sayfası olan normal bir web sitesini ele alalım ve yaklaşık sayfayı diğer sayfalardan farklı şekilde özelleştirmek istiyorsunuz. Örneğin, şirketinizin bir fotoğrafını kenar çubuğunun üstünde görüntüleyebilir veya yaklaşık sayfanın altında ek bilgiler görüntüleyebilirsiniz.

Bunu yapmak için $ page parametresini tanımlamanız gerekir. Sayfa kimliği 10 ise, koşullu ifadenizi aşağıdaki gibi bir şeyle açabilirsiniz:

if (is_page (10)) {

Belirli bir sayfa, sayfa başlığı işleve iletilerek de belirtilebilir.

if (is_page (‘Hakkımızda’)) {

Sayfa bilgi sayfası da kullanılabilir. Hatırlayabileceğiniz gibi, sayfa bilgi URL’si, URL’nin sonundaki benzersiz adlandırılmış tanımlayıcıdır. Yaklaşık sayfa URL’niz www.yourwebsite.com/about-our-company/ olsaydı, sayfa bilgisi şirketimizle ilgili olurdu.

if (is_page (‘şirketimiz hakkında’)) {

İs_page () gibi bazı koşullu etiketler de dizideki parametreleri iletebilir. Aşağıdaki koşul ifadesi, koşullardan biri doğru olduğunda true değerini döndürür.

if (is_page (dizi (10, ‘Hakkımızda’, ‘şirketimiz hakkında’))) {

Koşullu etiketleri kullanırken geliştiricilerin birden fazla koşul ayarlaması yaygındır. Blog ziyaretçilerine hoş geldiniz mesajı görüntüleme basit görevine geri dönelim. Bu, kurumsal bir web sitesinin blog alanlarına eklemek isteyebileceği, ancak web sitelerinin diğer alanlarına (ör. Ana sayfa, iletişim sayfası, yaklaşık sayfa vb.) Eklemek istemeyeceği bir şeydir..

Bunu is_home () ve is_single () koşullu etiketlerini kullanarak yapabilirler; blog dizini ve tek yayınları temsil eder. Her iki alanda bir mesaj görüntülemek için, mantıksal VEYA operatörünü || kullanmanız gerekir. Bu, aşağıdaki kodda gösterilmiştir. İlk if ifadesi sayfanın blog dizini mi yoksa tek bir gönderi mi olduğunu kontrol eder. İkisinden biri doğruysa, mesaj görüntülenir.

<?php

if (is_home () || is_single ()) {

Eko "Blogumuza Hoşgeldiniz!!";

}

?>

Çok yararlı olan bir başka mantıksal işleç VE işlecidir &&. Bu, bir şey yapılmadan önce iki veya daha fazla koşulun doğru olmasını istediğinizde kullanılır. Aşağıdaki if ifadesi, bir sayfanın hem bir arşiv sayfası olup olmadığını hem de haber kategorisi altında sınıflandırılıp sınıflandırılmadığını kontrol eder. Haber kategorisi sayfalarında hoş geldiniz mesajı görüntülenir. Başka kategorilerde hiçbir şey gösterilmeyecek.

<?php

if (is_archive () && is_category (‘Haberler’)) {

Eko "Haber Arşivlerine Hoş Geldiniz";

}

?>

AND ve OR operatörleri birleştirilebilir. Aşağıdaki örnek, varsayılan WordPress teması Yirmi Onüç’nin function.php şablonundan alınmıştır. İşlev, sayfa başlığını tarayıcıda görüntülemek için kullanılır, ancak aşağıda işlevin yalnızca bir kısmı gösterilir.

Bir site açıklaması varsa ve kullanıcı blog dizinini veya ana sayfayı görüntülüyorsa, if ifadesi true değerini döndürür. Site açıklaması genel ayarlar alanınızdaki kısa açıklama alanı üzerinden girilebilir. Bu alanı tamamlarsanız, blog dizininizde ve ana sayfanızda başlık çubuğunda “Site Başlığı | Site Açıklaması ”(not: ayırıcı aşağıdaki kodda $ sep dizesi kullanılarak görüntülenir). Bunu yapmazsanız, başlık çubuğunda “Site Başlığı” görüntülenir.

Gördüğünüz gibi, OR operatörü nedeniyle is_home ve _is_front_page tek bir varlık olarak görüntülenir. Bu yüzden braketlerin içine sarılırlar.

eğer ($ site_description && (is_home () || is_front_page ()))
$ title = "$ title $ sep $ site_description";

Kullanabileceğiniz başka bir PHP mantıksal operatörü değil operatör !. Bu, birçok durumda kullanmak için daha pratiktir. Örneğin, arşivleriniz dışındaki tüm sayfalarınızda bir fotoğraf görüntülemek istediğinizi varsayalım. “Bu ana sayfa mı, bu tek bir gönderi mi, bu bir sayfa mı…” sorusunu içeren uzun bir koşullu ifade oluşturmaya gerek yoktur. “Bu bir arşiv sayfası değil mi?” Sorusunu sormak daha pratiktir..

Bunu yapmak için, koşullu etiketin önüne bir ünlem işareti eklemeniz yeterlidir. Aşağıdaki kod, bunun pratikte ne kadar basit olduğunu göstermektedir. Arşiv sayfaları hariç, web sitenizin her sayfasında bir resim görüntüler.

<?php

if (! is_archive ()) { ?>

<?php

}

?>

Şimdiye kadar, bir şeyin eylemde bulunduğu veya işlem görmediği durumlarda kullanılan koşullu etiketlerin temel örneklerine baktık (yani A doğruysa, B yapın). Uygulamada, genellikle bir koşulun karşılanmaması durumunda yapılacak başka bir işlem vardır. Ek olarak, her birine farklı bir yanıtla karşılanabilecek birkaç koşul olabilir..

Bunun için birçok ayrı ifade yazmak yerine, else ve elseif ifadelerini kullanmak pratiktir. Bu, web sitenizde görüntülenenler üzerinde daha fazla kontrol sahibi olmanızı sağlar.

Bunu bir örnek kullanarak gösterebiliriz. Web sitenizde, web sitenizin farklı alanlarında farklı bir logo göstermek istediğinizi varsayalım. Bunu nasıl yapardın? Cevap basit: else ve elseif ifadelerini kullanıyoruz. Aşağıdaki kod, bunun nasıl başarılabileceğini gösterir.

<?php

if (is_home () || is_front_page ()) { ?>

<?php

} elseif (is_category ()) { ?>

<?php

} elseif (is_single ()) { ?>

<?php

} elseif (is_page ()) { ?>

<?php

}

Başka { ?>

<?php

}

?>

Ziyaretçinin web sitesinin hangi alanına baktığına bağlı olarak, beş logodan biri yukarıdaki kod kullanılarak görüntülenecektir. Web sitenizin birçok farklı alanını kontrol etmek için başka ve elseif ifadelerinin ne kadar kolay kullanılabileceğini gösteren temel bir örnektir..

Elseif deyimleri WordPress’in diğer bölümlerinde de kullanılır. Çoğu function.php şablonu bunları kullanır ve birçok WordPress teması, web sitelerinin başlıklarının tarayıcılarda görüntülenme şeklini değiştirmek için bunları kullanır.

Daha Koşullu Etiketler

Bir dizi ek koşullu etiket mevcuttur. Bunların çoğu geliştiriciler tarafından temalarda ve eklentilerde kullanılır.

Aşağıda, kullanabileceğiniz diğer koşullu etiketlerin bir listesi bulunmaktadır.

  • is_tax () – Özel bir sınıflandırma arşiv sayfasının görüntülenip görüntülenmediğini kontrol eder.
  • has_term () – Mevcut yayında belirtilen terimlerden biri olup olmadığını kontrol eder.
  • taxonomy_exists () – Sınıflandırma adının mevcut olup olmadığını kontrol eder.
  • post_type_exists () – Bir gönderi türünün olup olmadığını kontrol eder.
  • is_post_type_hierarchical ($ post_type) – Yazı türünün hiyerarşik olup olmadığını kontrol eder.
  • is_post_type_archive () – Belirli bir gönderi türünün arşiv sayfasının görüntülenip görüntülenmediğini kontrol eder.
  • is_comments_popup () – Yorumlar açılır penceresinin açık olup olmadığını kontrol eder.
  • comments_open () – Geçerli gönderi veya sayfa için yorumlara izin verilip verilmediğine bakar.
  • pings_open () – Geçerli gönderi veya sayfa için pinglere izin verilip verilmediğini kontrol eder.
  • is_feed () – Geçerli sorgunun bir feed için olup olmadığını kontrol eder.
  • is_404 () – 404 hatasının görüntülenip görüntülenmediğini kontrol eder.
  • is_paged () – Şu anda görüntülemekte olduğunuz sayfanın birinci sayfadan başka sayfalandırılmış bir sayfa olup olmadığını kontrol eder. Büyük yayınları bölmek için içeriğinizdeki sonraki sayfa hızlı etiketini kullandığınızda yayınlar ve sayfalar sayfalandırılır.
  • is_trackback () – Bir geri izlemenin kullanılıp kullanılmadığını kontrol eder.
  • is_admin () – Kullanıcının yönetici alanına giriş yapıp yapmadığını kontrol eder. Bir kullanıcının yönetici ayrıcalıklarına sahip olup olmadığını kontrol etmek için kullanılmaz, sadece WordPress panosuna giriş yapıp yapmadığını kontrol etmek için kullanılır.
  • is_page_template () – Görüntülenen sayfanın bir sayfa şablonu kullanıp kullanmadığını kontrol eder. Gerekirse belirli bir sayfa şablonu tanımlanabilir.
  • is_preview () – Bir blog yayınının taslak modunda görüntülenip görüntülenmediğini kontrol eder.
  • has_excerpt () – Geçerli yayında bir alıntı olup olmadığını kontrol eder. Belirli yayınlar tanımlanabilir.
  • has_nav_menu () – Bir menü konumuna atanmış bir menü olup olmadığını kontrol eder. Bu, tema geliştiricileri tarafından kullanıcının bir menü eklememesi durumunda bir şey göstermek için kullanılır.
  • döngüde() – Arayanın hala WordPress döngüsü içinde olup olmadığını kontrol eder.
  • is_active_sidebar ($ dizini) – Belirli bir kenar çubuğunun kullanılıp kullanılmadığını kontrol eder.
  • is_multisite () – Çoklu sitenin desteklenip desteklenmediğini kontrol eder.
  • is_main_site () – Çoklu sitenin ağdaki ana site olup olmadığını kontrol eder.
  • is_super_admin () – Bir kullanıcının ağ içinde bir süper yönetici olup olmadığını kontrol eder.
  • is_plugin_active ($ plugin) – Bir eklentinin etkin olup olmadığını kontrol eder.
  • is_child_theme () – Bir alt temanın kullanılıp kullanılmadığını kontrol eder.
  • current_theme_supports ($ özelliği) – Bir temanın gönderi biçimleri veya öne çıkan resimler gibi belirli bir özelliği destekleyip desteklemediğini kontrol eder.

Ayrıca kontrol edin: Varsayılan Taksonomileri Kaldırma.

Koşullu etiketler önemli bir WordPress konseptidir. Ne kadar yararlı oldukları nedeniyle, onlar olmadan tasarlanmış birkaç WordPress teması vardır. Başka ifadeleri anladıktan sonra, elseif ifadeleri ve AND, OR ve Not gibi mantıksal işleçler; herhangi bir koşullu işlevi yerine getirebileceksiniz.

Umarım bu kılavuz, WordPress koşullu etiketlerini temalarınızda nasıl kullanacağınızı öğrenmenize yardımcı olur.

Bu makaleyi beğendiyseniz, üzerinde ThemeLab’e katılın heyecan.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map