Wordpress Threaded Comments (kademeli yorumlar) Özelliğinin Uygulanması

WordPress 2.7 versiyonu ile eklenen bir özellik olan ‘Threaded Comments’, WordPress Türkiye Ekibi’nin çevirisi ile: ‘Kademeli Yorumlar’ özelliği; yazınıza yapılan yorumların herhangi birisine tekrar cevap verildiğinde, verilen cevabı ilgili yorumun hemen altına ekleyen bir eklenti veya uygulamadır. Bu özellik sayesinde alıntı eklentilerini kullanmaktan veya ‘@’ ile cevap vereceğimiz kişiye seslenme zahmetlerinden ciddi bir şekilde kurtuluyoruz. Hem de blogumuza görsel açıdan son derece hoş bir görünüm ve düzen sağlıyor.

Threaded Comments özelliği WordPress’in default teması olan Twentyeleven teması tarafından desteklenmektedir (Resim 1). Fakat Twentyten teması bu özelliği desteklememektedir. Sanıyorum çoğu WordPress Teması halen desteklememekte. Bu özelliğin kullanımı ile ilgili WordPress Codex sayfasında da çok detaylı bir bilgi ben bulamadım. Türkçe kaynak da bulamadım. Hatta ve hatta ‘tam’ anlamıyla açıklayan bir ingilizce kaynak da bulamadım. Farklı kaynaklardan topladığım bilgilerle size Threaded Comments özelliğinin, kendi tasarladığınız temalara nasıl uygulayacağınızı anlatmaya çalışacağım.

Resim 1: WordPress Twentyeleven temasındaki Threaded Comments özelliği.

Uygulama Adımları :

  • Threaded Comments özelliğini kullanacağınız şekilde yorumlar alanınızın Html ve Css kodlamasını bitirmek.
  • Dashboard üzerinden Threaded Comments Özelliğini aktif hale getirip, seviyesini belirlemek.
  • ‘comment-reply’ Scriptini header.php dosyasına import etmek.
  • Daha önceden hazırlamış olduğumuz comments.php dosyasında gerekli değişiklikleri yapmak.
  • functions.php dosyasına gerekli fonksiyonu yazmak.
NOT: Anlatacağım kısımlarda yorumlama alanının tasarımı adına hiçbir şeye değinmeyeceğim. Çünkü orası bambaşka bir konu. Size sadece genel mantığını ve uygulanmasını anlatacağım. Tasarım kısmı size ait.

Dikkat Edilecek Noktalar :

  • Her bir yorumun ve yorum yapma formunun bulunduğu alan sabit bir genişlik değerine sahip olmayacak. Yani % hesabıyla çalışmalısınız çünkü alt kademeye geçtikce yorum alanı daralacak. (Tabi siz bambaşka bir tasarım düşünüyorsanız orası size kalmış.)
  • Yorumun tasarımını tamamen kapsayacak bir kapsül içine almalısınız (div, li… gibi en dışarıda bir kapsül ile yorum alanı toplanmış olmalı.)

İlk adımı bitirip Html ve CSS kodlamanızı bitirdiyseniz uygulamaya başlıyalım;

Threaded Comments Özelliğini Aktif Hale Getirmek :

Admin Paneli (wp-admin) / Ayarlar / Tartışma / Kademeli yorumlara ‘5’ seviyesine kadar izin ver.
Seçeneğini içaretleyin, seviyeyi kafanıza göre belirleyin ve kaydedin.

‘comment-reply’ Script’ini Import Etmek :

header.php dosyasını açın ve aşağıdaki kodu bulun;

Ve üst kısmına aşağıdaki kodları ekleyin;

Bu kod Tekil Yazılar açıldığında bu Script’i aktif hale getirecek. Siz bu yorumları Özel Sayfalarda da yani page.php formatının açıldığı sayfalarda da aktif hale getirmek istiyorsanız;

Kodunu kullanın… Tüm sayfalarda aktif olsun isterseniz de;

Kodunu kullanın.

‘comments.php’ Dosyasını Düzenlemek :

comments.php dosyasında, yorumları aşağıdaki fonksiyonu kullanarak çekeceğiz. Bunun dışında hazırladığınız bir yorum şablonu ya da fonksiyonu varsa onu kullanamazsınız. Ama o tarzı yine 4. aşamada hazırlayacağımız fonksiyonda uygulayabilirsiniz… Aşağıdaki kodu comments.php’de uygun yere ekleyelim;

Bu fonksiyonun ol tagleri arasında olmasına dikkat edelim. Yoksa sonuç başarılı olmayacaktır… Fonksiyonun içindeki arrayde kullandığımız callback son aşamada functions.php dosyasına yazacağımız yorum fonksiyonunun ismidir. O kısmı düzenlemeyi unutmayın. wp_list_comments() fonksiyonunun parametreleri ve özelliklerini buradan inceleyebilirsiniz. Yorum yapma formunu da yine kendi kafamıza göre yazamıyoruz. Bunun için aşağıdaki fonksiyonu kullanacağız. Aşağıdaki kodları, yukarıdaki kodu eklediğiniz yerin altında olacak şekilde uygun yeri bulup ekleyin ve devam edelim;

comment_form() Fonksiyonu normalde bu haliyle wordpress’in varsayılan yorum formu stilini kullanarak ekler. Fakat bu fonksiyon parametre olarak yine çok yerinde array’ler alıyor ve bu sayede istediğiniz tarzı verebilirsiniz. Bunun için buradaki açıklamaları kullanarak işinizi halledebilirsiniz.

NOT: WordPress standartına uygunolması açısından, comments.php dosyasının içindeki kodlarının tamamını kapsayan kapsülün : <div id=”comments”> olmasına dikkat edin.

‘functions.php’ Dosyasını Düzenlemek :

İlk olarak functions.php dosyasına aşağıdaki kodları eklemekle başlayalım.

Burada comments.php dosyasında çağırdığımız fonksiyonu tanımladık. comments.php dosyasındaki wp_list_comments() fonksiyonu, bu fonksiyondaki şablon kullanılarak veritabanından yorumları alıp tek tek sıralayacak. Dikkat ettiyseniz li tagini kapatmadık. Çünkü bu fonksiyon li tagini kendisi kapatıyor. Sıralarken ise Resim 2’deki gibi bir listeleme uygulayacak.

Verilen ilk alt cevabın bulunduğu li tagi class=”children” ekini alacaktır. Css dosyanızda örneğin .children{margin-left: 50px;} diyerek her alt cevabın solunda 50px boşluk bırakabilirsiniz.

Threaded Comment System

Resim 2: Yorumların listelenme şekli.

Sistemin işleyişi bu şekilde… Yorum alanı kapsülünü hazırlarken buradaki fonksiyon örneğindeki kodları kullanabilirsiniz.
Yorum alanına cevaplama linkini eklemek için de aşağıdaki kodu kullanacaksınız;

Bu koddaki $args[‘max_depth’] kısmı, makalenin başında admin panelinden ayarladığımız kademeli yorum seviyesidir. comment_reply_link() fonksiyonunu buradan daha detaylı inceleyebilirsiniz.
Cevapla linkine tıklandığında yorum formu article taglerinin hemen bitişine yerleşecektir. Tasarımınızı yine buna göre ayarlamanız gerekmektedir.

Kaynaklar