PDA

Orijinalini görmek için tıklayınız : single.php deki yazı hangi kategoride ise sidebarda o kategoriye özel sidebar çıksın



angelaus
26-04-2012, 11:34
single.php deki yazı hangi kategoride ise sidebarda o kategoriye özel sidebar çıksın

nasıl yapılır.

olkunmustafa
26-04-2012, 12:45
Önce kaçtane farklı sidebar olsun istiyorsan o kadar farklı sidebar açmalısın.Bunu yapman için önce functions php dosyasın aşağıda ki kodları ekle.

<?php
register_sidebar(array(

'name' => __('Tüp bebek', 'themater'),

'id' => 'bilesen_adi',

'description' => __('Tüp bebekle ilgili kategoriler buraya gelecek', 'themater'),

'before_widget' => '<ul class="widget-container"><li id="%1$s" class="widget %2$s">',

'after_widget' => '</li></ul>',

'before_title' => '<h3 class="widgettitle">',

'after_title' => '</h3>'

));
?> bu kod bir tane bileşen alanı açar.eğer birden fazla açacaksan.register_sidebar(array( dan sonra ki kısmı tekrar yazman lazım.Ama id ve name kısımlarını değiştir.



Burada önemli olan 'name' ve 'id' kısmını değiştirmen.Çünkü sayfada bileşenler bu isimle gözükecek.Sonra tekrar farklı single.php dosyaları oluşturman lazım.Oluşturduğun single.php sayfalarında bileşeni göstermek sitediğin yere

<?php if (!function_exists('dynamic_sidebar') || (!is_active_sidebar("bilesen_adi"))) {
get_sidebar();
} else {
echo '<ul>';
dynamic_sidebar('bilesen_adi');
echo '</ul>'; ekleyerek yapabilirsin.Ben Tüp bebek (http://www.tupbebekailesi.com) adresinde uyguladım.

angelaus
26-04-2012, 22:38
Cevap için teşekkürler
single-catid.php şeklinde mi yaratacağım peki dosyaları


bir diğer sorum ile diyelim tüpbebek (catid=1) kategorisi altında infertilite (catid=2) kategorisi altında kadın(3) ve erkek(4) kategorileri var.

benim makalelerim kadın ve erkek kategorileri altında. ben single-2.php yani 2. kategoriye göre oluştursam dosyayı. bu dosya 3 ve 4. kategorileri de kapsayacak mı ??

olkunmustafa
27-04-2012, 09:40
Rica ederim angelaus.Ben sana nasıl yaptığımı anlatayım daha sağlıklı olur.Önce bir single1.php dosyası ve single-default dosyaları oluşturuyorsun.isimleri farklı da olabilir.Bu oluşturduğun dosyaları istediğin gibi değiştirebilirsin.Önemli olan single.php kodlarında hangi dosyaları işaret ettiğin.Aşağıdaki kodlara bakınca daha iyi anlayacaksın.

single.php içindeki tüm kodları siliyorsun.Dikkat ekleme değil hepsini sil
Sonra alttaki kodları yaz.

<?php
$post = $wp_query->post;
if ( in_category('8') ) {
include(TEMPLATEPATH . '/single1.php'); }

else { include(TEMPLATEPATH . '/single-default.php');
}
?>

Burada (in_category('8') olarak verilen yer 8 numaralı kategoriyi işaret ediyor ve bu kategoriyi single1.php dosyasına atıyor.Yani 8 numaralı kategoride yazılan her yazıya tıklayınca single1.php dosyası açılacak.Eğer yazılan yazı 8 numaralı kategori de değilse single-default dosyasını çalıştırıyor.Single.php dosyası sadece bir yer göstericisi olarak görev alıyor.

Daha önce olşturduğumuz bileşen alanlarını single1.php dosyasında bileşeni göstermek istediğimiz yere koyuyoruz.

2.sorduğun soruda da şöyle yapabilirsin.Single.php dosyasına ekleme yaparken
<?php
$post = $wp_query->post;
if ( in_category('8,7,6,5,4') ) {
include(TEMPLATEPATH . '/single1.php'); }

else { include(TEMPLATEPATH . '/single-default.php');
}
?>

Yani alt kategorilerinde numaralarını yazarsın.Böylece sağlıklı bir şekilde tamamlamış olursun :)

angelaus
27-04-2012, 10:30
valla süper teşekkürler şimdi kaptım olayı.


Gördüğüm kadarı ile bu iş manuel tema editlemesi ile gönüyor WP de.

ama yootheme bu işi çözmüş, widgetlerı panelden nerelerde görüneceğini menülere göre ayarlatıyor. aynı joomla gibi

Çağrı
27-04-2012, 14:01
Wordpress için tema framework'u yazdı adamlar harici olarak :) Ama sistemi çok hantallaştırıyor. Onun yerine kod yazarak tema oluşturmak daha mantıklı. :)

angelaus
27-04-2012, 14:06
evet orası kesin.

ama coder olmayan ve joomladan gelen için süper bişey

olkunmustafa
27-04-2012, 15:50
Wordpress için tema framework'u yazdı adamlar harici olarak :) Ama sistemi çok hantallaştırıyor. Onun yerine kod yazarak tema oluşturmak daha mantıklı. :)

Bu şekilde daha da zevkli geliyor bana.Sonuçta ben blogger değilim sadece bloglamaya çalışayım codex leri kullanarak bişeyler yapmak daha hoş :)