WordPresste Bazı Kategorileri Üyelere Özel Yapmak - WordPress Türkiye İletişim

WordPresste Bazı Kategorileri Üyelere Özel Yapmak

BildiÄŸiniz gibi gün geçtikçe wp’nin kullanım alanları artıyor ve yeni ihtiyaçlar ortaya çıkıyor. Åžimdi bu ipucuyla, bir kategoriye ait yazıları, üye olmayanlardan gizleme yolunu öğreneceksiniz.

WordPress’in güzel fonksiyonlarından olan, is_user_logged_in fonksiyonu ve in_category fonksiyonunu kullanacağız.

is_user_logged_in fonksiyonu ile kullanıcının üye mi yoksa ziyaretçi mi olduğunu kontrol edeceğiz.

in_category ile gizlenmesini istediğimiz kategori içerisindeki bir yazı olup olmadığını kontrol edeceğiz.

Yapılacak İşlemler

  1. Temanız içerisindeki functions.php dosyasını açınız.
  2. İçerisine aşağıdaki kodları ekleyiniz:
    function kategori_sinirlayici($content){
    $fix = "3,5,7";
    if(in_category($fix)){
    if ( !is_user_logged_in() ) {
    return "<p class='uyari'>Bu kategoriye ait yazıları okumak için <a href='".get_bloginfo('url')."/wp-login.php'>giriş yapmalısınız</a>.</p>";
    } else {
    return $content;
    }
    } else {
    return $content;
    }
    }
    add_filter('the_content', 'kategori_sinirlayici');
    
  3. Dosyayı kaydedin ve kapatın.

Yukarıdaki kodlarda görmüş olduÄŸunuz, fix=”3,5,7″ kısmındaki, 3,5,7 sayıları kategori id’lerini temsil etmektedir. EÄŸer kategori id’leriniz 33,156,84 ise, bunları silip yerine size ait idleri yazmanız gereklidir.

Bu iÅŸlemleri yaptıktan sonra belirlediÄŸiniz kategorilerde, “Bu kategoriye ait yazıları okumak için giriÅŸ yapmalısınız.” yazısı görülecek, diÄŸer yazılarınız ise normal ÅŸekilde gösterilecektir ;)

Düzenlemeler:

  1. 30.06.2009 – CSS ile düzenlemek için p tagı ve uyari sınıfı eklendi.
  2. 01.07.2009 – Üye GiriÅŸ Linki eklendi.

Benzer Yazilar


“WordPresste Bazı Kategorileri Üyelere Özel Yapmak” için 36 Yorum var

  1. sineman diyor ki:

    merhabalar ben wordpress sitemde kategoriye uyarı sayfası eklemek istiyorum, yani o kategoriye ait bir yazı acılmak istendiginde once bir uyarı sayfası cıkmasını saglayabilirmiyiz?

  2. photoders diyor ki:

    denedim fakat olmadı şu an 2.9.1 sürüm kullanıyorum bana çok gerekli acaba bu konuda yardım alabilirmiyim.

  3. dea diyor ki:

    Güncelleme ne durumda acaba?

  4. dea diyor ki:

    Çok işime yarayacak birşey teşekkürler fakat wordpressin son sürümü için uygun değil sanırım. Bir işe yaramadı. Yardımcı olur musunuz?

  5. raozkardes diyor ki:

    TeÅŸekkür ediyorum. Sabırsızlıkla bekleyeceÄŸim. İşlerinizde kolaylıklar diliyorum.

  6. raozkardes diyor ki:

    Bugün 2.7.1 ile de 1 den fazla kategoride sorun olduğunu farkettim. Bunun bir çözümünü bulabilirseniz çok memnun olacağız.

    Amatörce yürüttüğümüz okul sitemizin sürekliliği için bu kod oldukça işlevsel bir yere sahip.

  7. mesut diyor ki:

    $fix = “3,5,7″; burada ki kategori adeti 1 taneyi geçince sorun veriyor. Yani iki veya daha fazla kategori ekleyemiyorum. yardımcı olur musun

  8. NeaturaLizeR diyor ki:

    Kusura Bakma Hocam Flood Yapıorum Ama Herhangi Bi Eklenti Ekleyecekmiyiz Yada functions.php Dosyasının Neresine Ekleyeceğiz? http://rapidshare.com/files/259025368/functions.php.html Dosyamı Verdim Yardımcı Olurmusun?

  9. NeaturaLizeR diyor ki:

    Hocam Ekledim En Aşağıya Verdiğin Kodu Localhostta Açtım Deişen Bişey Yok Gene Aynı?

  10. JoSePh diyor ki:

    hocam ihtiyacım için bu bilgilendirmeyi yapmana çok sevindim ama küçük bi maruzatım vardı başlıklarla birlikte tamamen gizleyebilsek nasıl olurdu, ben biraz uğraştım ama o şekle getiremedim

  11. raozkardes diyor ki:

    Return içerisindeki mesaja css atanabilir mi? nasıl yapacağız?
    diğer gereksiz yorumlarımı kaldırır mısınız? sonuçta benden kaynaklanan bir yanlışlık oldu.
    bu işlevsel kodlar için teşekkür ediyorum. şu son kod inanın çok işimize yarayacak.

  12. raozkardes diyor ki:

    Eee vallahi şimdi oldu. teşekkürler.

  13. raozkardes diyor ki:

    Else ve return kodlarıyla oynayınca oluyor ama tam anlamış değilim.

  14. raozkardes diyor ki:

    Semih bey, kodu az önce sitemizde denedik. 8 ve 11 nolu kategorileri ilgili yerlere girdim. ne yazık ki çalışmadı. değişen bir şey yok.

    wp 2.7.1 sürüm kullanmaktayız.

  15. Mehmet diyor ki:

    Teşekkürler semih bey.

  16. Semih diyor ki:

    üye girişi yapmış olmayasınız? :)

  17. Semih diyor ki:

    Şu kısımı:
    return "Bu kategoriye ait yazıları okumak için giriş yapmalısınız.";
    şu şekilde yaparsanız:
    return "<p class='test'>Bu kategoriye ait yazıları okumak için giriş yapmalısınız.</p>";
    css içerisinde:
    .test{
    background:#000;
    }

    şeklinde bir düzenleme yapabilirsiniz :)

  18. Semih diyor ki:

    onu yapmak için sıfırdan query düzenlemek ve o yazıları sorgudan çıkarmak. ayrıca yeni bir category dosyası oluşturup, onun içinde düzenleme yapmak gerekli :)

  19. JoSePh diyor ki:

    hmm baya uzun işi varmış, ben conntent kodunun dan geldiğini düşünmüştüm ve onu ile değiştirirsem düz mantık olur diye hesaplamıştm ama olmadı :D

  20. raozkardes diyor ki:

    uyarı mesajı içine wp-login giriiş kodunu da eklemek istiyorum. Mesaj içinde wp nin login kodu çalışmadı ama.. yani giriş yapmalısınız yazısında link olmalı ama nasıl?

  21. Semih diyor ki:

    Yazıyı ve kodu güncelledim :)

  22. İsminiz diyor ki:

    güncelleme için teşekkürler ama get_bloginfo kodu giriş linkine gitmiyor.

  23. raozkardes diyor ki:

    .site_url(’wp-login.php’). böyle yapınca oldu .. doÄŸrudur umarım. denemeyle buldum da.

  24. Semih diyor ki:

    Böyle bir kullanım hiç görmedim :) Yukarıdaki kodu güncelledim bu arada :)

  25. Semih diyor ki:

    Çıkış yapmayı unutmadınız umarım?

  26. Semih diyor ki:

    Buradaki kodları deneyin: http://wpuzmani.pastebin.com/m349875b4
    Ayrıca $fix karşısında yazan numaralar kategori id’leri olacak ;)

  27. NeaturaLizeR diyor ki:

    Yok Hocam Gene Aynı Yaa Deişen Bişey Yok Idlerini Yazdım Katagorilerin Zaten Üye Girişi Yapıorum Gene Olmuor Var Bişiler Bunda Yaa Seodan Kaynaklanır Dedim Seoyu İptal Ettim Gene Aynı

  28. Semih diyor ki:

    Bu da enteresan tabi :) diÄŸer arkadaÅŸlarda çalışırken siz de hata vermesi normal deÄŸil…

  29. Semih diyor ki:

    3.satırı şu şekilde düzenleyip, yeniden deneyin:
    [php]
    if(in_category(array($fix))){
    [/php]

  30. mesut diyor ki:

    malesef olmadı. temadan kaynaklanır diye düşündüm 2 – 3 temadan denedim ama sonuç aynı

  31. Semih diyor ki:

    Sanırım sürümlerden kaynaklı, çünkü 2.7de çalıştığını görmüştüm :) Yoksa eklemem biliyorsunuz… ;)

  32. semih diyor ki:

    Tekrar incelemem gerekiyor, ÅŸimdilik kullanmazsanız iyi olur… En kısa zamanda bakacağım.

Kendimi Şanslı Hissediyorum

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

Duyuru

WordPress'inizi yeni özellikler için ve olası güvenlik açıklarına karşın 2.9.2 sürüme yükseltmeniz tavsiye edilir.

Yükleme Sayfası

Bağlantılar