Wordpress

Farklı kategoriler için farklı yazı sayfası

Başlıkta çok farklı oldu ama bu tarz anlatabildim. :) Öncelikle yine bir ihtiyaçtan doğan bir yazı oldu bu. Yaptığım diş hekimleri portalında iki farklı tekil yazı sayfası olması gerekiyordu. Bunlardan biri bilindik blog yazısı sayfasıydı, diğeri ise diş hekimin bilgilerinin yer aldığı ayrıntılı bir sayfaydı. Bunlara ayrı bir stil yapısına sahip olmasından dolayı farklı göstermek için epey araştırma yaptım ve en kolay yolu buldum. Şimdi belki sizde bu tarz durumla karşılaşırsanız diye yazmak istedim.

Öncelikle yapacağınız işlem oldukça kolay bunun için kaç tane farklı tekil yazı sayfanız varsa bunlara özel sayfa oluşturacaksınız, sonrada bunları belirlenen kategorilere göre göstereceğiz.

Örnek olarak firma tanıtım sitesi olsun. Firma tanıtım sitemizde günlük yazılar yazdığımız haberler yazdığımız sayfa olsun ve buda aynı bu sayfa gibi düz yazı sayfası olsun. Kategorisi id numarası “3” olsun. Buna özel sayfa ismide single-haber.php olsun.

İkinci olarak da firmanın tanıtımın yapıldığı, firma ismi, çalışma alanı, vergi numarası, iletişim adresleri vs. olan bir sayfa olsun ve bu firma tanıtım kategorisinin idsi de “4” olsun. Sayfa adı da single-firma.php olsun. Buna göre şimdi kodlarımızı yazalım.

Öncelikle aşağıdaki kodu single.php’de kullanacağız.

post;
if ( in_category('4') ) {
include(TEMPLATEPATH . '/single-firma.php'); }
else { include(TEMPLATEPATH . '/single-haber.php');
}
?>

Burada şunu yaptık. Yazı linke tıklandığında single.php sayfası açılıyor orada hemen bir döngü çalışıyor. Burada diyor ki, eğer 4 numaralı kategori ise single-firma.php dosyasını aç, eğer değil ise single-haber.php dosyasını aç.

Bu sayede farklı stiller için farklı yazı şablonları oluşturabilirsiniz. Peki 2 den fazla sayfa olursa ne yapacaksınız. Onun içinde şunu yapacağız.

Single.php’ye bu sefer şu şekilde ekleme yapıyoruz.

post;
if ( in_category('3') ) {
include(TEMPLATEPATH . '/single-haber.php'); }
elseif ( in_category('4') ) {
include(TEMPLATEPATH . '/single-firma.php'); }
elseif ( in_category('5') ) {
include(TEMPLATEPATH . '/single-resimler.php'); }
else { include(TEMPLATEPATH . '/single-normal.php');
}
?>

Burada yaptığımız ise eğer 3 numaralı kategori idsine sahip yazı ise single-haber.php açılacak o değilse 4 numaralı kontrol edilecek ve oysa single-firma, eğer o da değilse 5 numaralı kategori yazısı olup olmadığı ve olduğu takdirde single-resimler.php açılacak. Hiç biri değilse single-normal.php dosyası açılacak. Bu sayede istediğiniz şekilde istediğiniz sayıda farklı single.php tasarımları yapabilirsiniz. Bu yöntem ile çok farklı siteler yapmakta mümkün oluyor.

NOT: kodların başına “< ? php " bunu eklemeyi unutmayın. Editöre ekliyorum lakin çıkmıyor siz eklersiniz.Eklenmiş hali aşağıdaki gibidir.

Yorum Yazınız


*

7 Yorum

    • Onu görmüştüm ben de ama beceremedim :) Bu daha kolay geldi bana 😀 ama en iyisi her zaman sana en kolay gelenidir 😀

  • tema klasörü içine category-id.php şeklinde dosya oluşturursanız otomatik olarak id si dosya ismindeki ile aynı olan dosya çalışıcak ve kategori görünümü değişicektir.

    örn 284 nolu kategori için
    category-284.php yapmak ve görünümünü düzenleyip kaydetmeniz yeterli olucaktır.

    iyi çalışmalar dilerim.

  • Hocam yazılarını düzenli takip ediyorum , birçok şeyi yeni açtıgım sitemde uygulayacagım şimdiden teşekkürler.

  • Alternatif olarak single.php deki get header etiketini
    ” post;
    if (in_category(9)) {
    include (TEMPLATEPATH.’/single-specific9.php’);
    return;
    }
    if (in_category(8)) {
    include (TEMPLATEPATH.’/single-specific8.php’);
    return;
    }
    if (in_category(11)) {
    include (TEMPLATEPATH.’/single-specific11.php’);
    return;
    }
    get_header(); ?> ”

    olarak değiştirirseniz mevcut single php nizi kullanmaya devam edip, istediğiniz kategorilere özel tasarım oluşturabilirsiniz arkadaşlar.

  • selamlar arkadaşlar bu yukarıda anlatıldığı gibi güzel söz sitesi tasarımı hazırladım ancak yorum kısımları çalışmıyor bu konuda yardımcı olurmusunuz=?