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

wordpress_kategori-yazi-sablonu
Paylaş
 

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 = $wp_query->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 = $wp_query->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.



Bu yazı 54 kere okundu.
  • Site Yorum

7 adet yorum var.

  1. Furkan Güven Taştan diyor ki:

    Ben bununla ilgili bu tekniği bilmiyordum ya da beceremezdim :) Alternatif olarak tekil yazı şablonu oluşturmayı denedim ve gayet güzel de oldu. http://www.sinerjik.org/yazi/wordpress-tekil-yazi-sablonu-olusturmak/

    • aorhan diyor ki:

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

  2. AlixcaN diyor ki:

    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.

  3. Yemegi Tarifi diyor ki:

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

  4. YEREL HABER diyor ki:

    single.php kodları görünmüyor hocam!!!!!

  5. Bölüm fragmanı diyor ki:

    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.

  6. Lara diyor ki:

    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=?

Bir yorum bırak


8 + dokuz =

YAZAR HAKKINDA

Ankara'da doğmuş ve Ankara'da yaşamakta olan bir makine mühendisi ve blog yazarıyım. 2006'dan bu yana blog yazarlığı yapmakta olup, 2009'dan bu güne kadar aorhan.com'da yazıyorum.
wordpress hosting
Domain sorgulama için Turhost'u öneriyorum.
Oyun Kolu Sunoyun.com araç kiralama
Sponsorlarımız
cep telefonu oyunları oyun oyna araba oyunları OYUNLAR yanmaz sünger canlı tv izle ses yalıtım malzemeleri ses yalıtım süngeri malta dil okulları
Son 24 saatin popülerleri
Bumerang - Yazarkafe

Sitemap | RSS