İleti�Ÿim

WordPress Alt Kategori Kontrolü II

issubcat WordPress Alt Kategori Kontrolü II

WordPress ile Alt Kategori Kontrolü

WordPress Alt Kategori Kontrolü” isimli konuda verdiğim kodun, sadece bir kategorinin alt kategorileri olup olmadığını kontrol etmenizi sağladığını söylemiştim. Şimdi asıl işimize yarayacak fonksiyon, bir kategorinin alt kategori olup olmadığını öğrenmek. Bakın, alt kategorisi değil, alt kategori olup olmadığını kontrol edeceğiz icon smile WordPress Alt Kategori Kontrolü II Hemen geçelim kodlara »

Öncelikle basit bir mantık yürütelim, bir kategorinin alt kategori olup olmadığını nasıl kontrol ederiz?

  1. Eğer incelediğimiz kategori alt kategori ise, bu kategorinin bir alt kategorisi (child) daha olmayacaktır.
  2. İncelediğimiz kategorinin üst kategorisi var mı diye kontrol ettiğimizde, ki bu işlem için get_category_parents fonksiyonu var, kategorinin üst kategorileri olması lazım. Sonuçta kategorimiz alt kategori mi diye bakıyoruz.
  3. Geçelim işlemlere.

Functions.php dosyanızı açıp şu satırları ekleyin:

<?php
# wpuzmani.com alt kategori kontrolü
function is_subcat() {
	global $post;
	$category = get_the_category();
	$id = $category[0]->cat_ID;
	$control = get_category_children($id);
	if($control != "") {
		return false;
	} else {
		$parents = get_category_parents($id, FALSE);
		if($parents != "") {
			return true;
		} else {
			return false;
		}
	}
}
?>

Fonksiyon ile Neler Yaptık ?

$category = get_the_category();

$id = $category[0]-&gt;cat_ID;

satırlarıyla, kategori id’sini aldık.

$control = get_category_children($id);

satırıyla, kategorinin alt kategorilerini bulmaya çalıştık.

if($control != "") {

return false;

}

satırlarıyla, eğer kategorinin alt kategori varsa false döndürmesini, yani sonuç döndürmemesini istedik.

$parents = get_category_parents($id, FALSE);

kodu ile, kategorinin üst kategorilerini (varsa) bir değişkene atadık.

if($parents != "") {

return true;

}

satırlarıyla, kategorinin üst kategorisi varsa yukarıda yaptığımız ilk kontrole dayanarak (yani alt kategorisi yoksa), true olarak yanıt göndermesini istedik. Yani sonuç döndürüyor.

else {

return false;

}

satırlarıyla da, hem alt kategorisi hem de üst kategorisi olmayan kategoriler için, false döndürülmesini istedik.

ÖRNEK: KODU NASIL KULLANIRIZ?

Bu kodu sitenizde şu şekilde kullanabilirsiniz:

sidebar.php yi açıp aşağıdaki kodu ekliyorsunuz:

<?php
if(is_subcat()) {

/* Eğer yazı alt kategori içindeyse gösterilecek içerik */

} else {

/* Eğer yazı alt kategori de değilse gösterilecek içerik */

}
?>

Yazıyı okuduğunuz için teşekkür ederim.

Yukarıdaki kodlar tamamen tarafımdan yazılmıştır icon wink WordPress Alt Kategori Kontrolü II

Benzer Yazilar


“WordPress Alt Kategori Kontrolü II” için 12 Yorum var

  1. Sertaç diyor ki:

    Merhaba,
    Konuyu şans eseri ziyaret ettim diyebilirim ama bir nevide gökte ararken yerde buldum gibi oldu. Fakat ben olayı biraz tersten incelemek istiyorum.

    Alt kategorisi varsa değilde üst kategorisi X ise şeklinde nasıl yapılabilir?

    Ör:
    Sayfada X adına bir kategori var ve altında da Xa, Xb şeklinde alt kategorileri var.
    Ben bu Xa, Xb kategorilerinde herhangi bir post ziyaret edildiğinde bunların ana X kategorisi altındaki kategorilerdeki post lar olduğunu anlayıp ona göre sayfamda bir eklentiyi göstermek yada göstermemek istiyorum.

    Bu konuda örnek bir fonksiyon ve sayfa içi kodu konusunda yardımcı olabilirmisiniz?

    • Sertaç diyor ki:

      Yorumum denetim için beklerken tekrar okudumda yeterince açıklayıcı olamadığıma kanaat getirdim.

      Daha somut bir örnekle anlatmaya çalışacağım.

      Ör:
      İki tane birbirinden bağımsız kategorim var.
      Biri AHMET olsun, diğeri MEHMET olsun.

      Ben AHMET ve alt kategorilerindeki post larda “hebelübe” diye bişi göstermek istiyorum. Fakat “hebelübe” yi single.php içine eklediğimde kategorisi ne olursa olsun tüm sayfalarda gözüküyor.

      Oysaki AHMET ve alt kategorilerinde gözükmesini, MEHMET ve alt kategorilerinde ise gözükmemesini istiyorum.

      Bu sebeplede sadece üst kategorisi AHMET ve AHMET in altındaki tüm alt kategorilerilerdeki postlarda bunu görünür yapmak için kontrole ihtiyacım var.

      Sanırım bu şekilde daha anlaşılır oldu.

  2. teknoloji haber diyor ki:

    süpersin saol

  3. izmir web diyor ki:

    harika bir paylaşım oluş. sağol.

  4. Patlat diyor ki:

    Merhabalar, yazınız çok güzel olmuş, teşekkürler. Sormak istediğim soru şu diyelimki bir yazının kategorisi alt kategori olarak işaretlenmiş, ben bu yazının title’ında yazı başlığı I alt kategori adı I üst kategori adı olarak nasıl yapabilirim?

  5. film izle diyor ki:

    güzel anlatım olmuş , ellerinize sağlık.

  6. bedava film izle diyor ki:

    ArkadasLar yapan var mi ona Gore ugrasaLim.

  7. Semih diyor ki:

    http://www.wpuzmani.com/wordpress-ile-alt-kategori-kontrolu/
    bu konu işinize yarayacaktır.
    [php]<?php if(is_subcat($kategori_idsi)){ echo “altta kalanın canı çıksın”; } else { echo “altta kalan yok”; } ?>[/php]
    şeklinde kullanabilirsiniz. :D

  8. badegül diyor ki:

    semih bey yazmış olduğunuz kodda şunu yapabiliyormuyuz .
    alt kategorisi varsa (bunu yaz) yoksa (bunu yaz) yada nasıl yapabiliriz semih bey

  9. badegül diyor ki:

    teşekkürler

Kendimi Şanslı Hissediyorum

Şansını denemek istiyorsan, yukarıya tıkla :)

WordPress Hosting

Duyuru

WP Uzmanı yeni yazarlarını arıyor. WPU üzerinden eklenti ve tema satışı yapabilirsiniz! Tek yapmanız gereken iletişime geçmek.

İletişime geç!


Selen Korkutan

website statistics