Home » Konu, Webmaster, Wordpress

Sayfaya link verme ve kategorileri gizleme

11 Mayıs 2009 931 kez okundu Yorum yapılmamış

Başka bir blogun header kısmını düzenlerken büyük bir sorunla karşılaştım. Yeni tasarımda page kısımları sayfanın en üstündeydi. Bu sayfaları, blog yöneticisi sadece sidebar kısmında göstermek istiyordu. Doğal olarak, bu yukarıdaki pageleri gizlemem gerekiyordu. Bu sorunu ufak bir kod yardımıyla çözdüm. Aslında kolay olan bu işlemi çoğu yerde eklenti yardımıyla çözmeye kalkışıyorlar. Bu da db’inizide yeni tablolar anlamına geliyor ve sitenizin hızı gün geçtikçe yavaşlıyor. İstediğininiz kategoriyi yada page’i saklamak istiyorsanız  exclude= id  kodunu sayfanızda gerekli yere koymanız yeterli olacaktır.  =id yazan yeri istediğiniz gibi düzenleyip, birden fazla yazı ya da kategoriyi gizleyebilirsiniz (3,4,5) gibi

Eğer page’leri gizlemek istiyorsanız., temanızda 

Kategorileri gizlemek istiyorsanız,   wp_list_categories kısımlarında düzenleme yapmanız yeterli olacaktır.

Örnek kod:

(’sort_column=menu_order&depth=1&title_li=&exclude=2,4,6′

 

Bu sorunu çözdükten sonra  sayfanın üst kısmı tamamen boş kaldı ve buraya Home ve subdomain linklerini koymam gerekiyordu.  Normal link ekler gibi ekleme şansım olmadı. Çünkü  pagelerin durduğu kısmın kod yapısı şu şekildeydi:

 

 id="base">
        <div id="menu">
            <ul><?php
                $options = get_option(’widget_pages’);
                $exclude = empty($options['exclude'] ) ? ” : $options['exclude'];
                (’sort_column=menu_order&depth=1&title_li=&exclude=’.$exclude);
            ?>
            </ul>
        </div>

 

Bu kısımda Home linkini bir türlü ekleyemedin ve sorunu  şu şekilde çözdüm:

        <div id="menu">
            <ul><?php
   function gdm_add_link_home($content) {
    $homeItem = "<li class=’page_item";
    if (is_home())
        $homeItem .= " current_page_item’";
    else
        $homeItem .= "’";
    $homeItem .= "><a href=’" . get_bloginfo(’url’) . "’ title=’Home’>Home</a></li>";
    $pos = strpos($content, ‘<ul>’);
    if ($pos === false) {
        return $homeItem . $content;
    } else {
        $preContent = substr($content, 0, $pos + 4);
        $postContent = substr($content, $pos + 4);
        return $preContent . $homeItem . $postContent;
    }
}

add_filter(’’, ‘gdm_add_link_home’);
                $options = get_option(’widget_pages’);
                $exclude = empty($options['exclude'] ) ? ” : $options['exclude'];
                (’sort_column=menu_order&depth=1&title_li=&exclude=2150,2153,3493,3483,2151,2154,6036′.$exclude);

            ?>
            </ul>
        </div>

Eğer temanızda buna benzer bir kod düzeni varsa siz de bu şekilde home linkini görüntüleyebilirsiniz.

 

İkinci sorun ise Home kısmının yanında subdomaine link vermekti. Gördüğünüz kod yapısı içinde klasik link verme işlemini her yapmaya çalışımda hatayla karşılaştım. Bunun başka bir yolu varsa da ben bulamadım. Aklıma bir cinlik geldi ve bakın sorunu nasıl çözdüm:

<?php /*
Name: theme adı
*/
?>
<meta HTTP-EQUIV=Refresh CONTENT=0;URL=url></meta>

 

Bu kodu  boş bir notepad dosyasına yapıştırın. Url kısmını ve theme adı yazan yerleri istediniz biçimde düzenledikten sonra dosyanıza bir isim vererek ve uzantısını php olarak kayıt edin. Bu oluşturduğunuz php dosyasını ftp yardımıyla sunucunuzdaki temanızın içine atın. Wordpressin admin paneline giriş yapıp yeni bir sayfa oluşturun. Başlık kısmına gözükecek ismi yazın. Metin editörüne birşey yazmadan yan taraftaki  seçeneğinden sunucunuza yüklediğiniz dosyayı seçin. Hepsi bu kadar. Artık linkiniz sayfanızda görüntülenecek. Bu arada content değerini arttırarak yönlenme süresini değiştirip değişik amaçlarla da kullanabilirsiniz.

Bu yazı 2.7.1 için yazılmıştır.

Benzer Yazılar

Etiketler: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5 out of 5)
Loading ... Loading ...

Fikrini yaz!

Bu etiketleri kullanabilirsin:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Burada Gravatar kullanılmaktadır.Dunya çapında avatar kullanmak için lütfen kayıt olunuz. Gravatar.