WordPress’te Yorum ve Geri İzlemeleri Ayırmak

WordPress günlüklerimizin yorum ve geri izleme özelliği vardır. Bu iki özellik de veritabanının yorumlar tablosunda (wp_comments) tutulurlar. Standart WordPress temalarında her ikisi de normal yorum gibi görüntülenir. Oysa ki birisi başka bir siteden bizim sitemize gelen bir bağlantı, diğeri ise bir okuyucumuzun yazımız hakkında yapmış olduğu yorumdur. Doğal olarak bu ikisini ayırmak gerekir. Gelin bunu nasıl yapabileceğimizi görelim.

İşin Mantığı

Kodları hap şeklinde vermek yerine önce ne yaptığımızı anlayalım. Mantık aslında oldukça basit. Konumuz olan tabloda (wp_comments) “comment_type” alanı vardır. Temamızın yorumlar kısmında (büyük ihtimalle comments.php dosyasındadır) yorum döngüsü içinde o an çekilen kaydın tipini alacağız ve geri izleme mi yoksa yorum mu kontrol edeceğiz. Sonrasında ise buna göre yorumu/geri izlemeyi görüntüleyeceğiz .

Ve Kodlar

Standart bir WordPress temasının yorum kısmındaki kodlar kabaca şu şekildedir. Kodları biraz temizledim. Sizin temanızdaki daha kalabalıktır ama mantığı anlayabilirsiniz.

<?php if ($comments) : ?>

	<?php foreach ($comments as $comment) : ?>
		...
		...
	<?php endforeach; ?>

<?php else : ?>

<?php endif; ?>

Bu kodlar üzerinde sizin için hazırladığım resimdeki değişiklikleri yapmalısınız. Değişikliği yaparken aşağıdaki kodlardan faydalanabilirsiniz. Gerekli değişikliği yaptıktan sonra kodunuzun son hali kabaca şöyle olacaktır.

<?php if ($comments) : ?>

	<?php foreach ($comments as $comment) : ?>

	<?php $comment_type = get_comment_type(); ?>
	<?php if($comment_type == 'comment') { ?>
		...
		...
	<?php } else { $trackback = true; }	?>

	<?php endforeach; ?>

	<?php if ($trackback == true) { ?>
	<h3>Geri izlemeler</h3>
	<ul>
		<?php foreach ($comments as $comment) : ?>
		<?php $comment_type = get_comment_type(); ?>
		<?php if($comment_type != 'comment')
		{ ?> <li><?php comment_author_link() ?></li><?php } ?>
		<?php endforeach; ?>
	</ul>
	<?php } ?>

<?php else : ?>

<?php endif; ?>
Değişikliği Açıklayalım

Öncelikle ilk yorum döngümüzde eğer kayıt bir yorum ise
($comment_type == ‘comment’) göster anlamına gelen kodu yazdık. Eğer değilse $trackback isimli değişkene true değeri verdik. Bunun anlamı yorum dışında başka türlü kayıt olduğudur ki o da zaten geri izlemedir. Son olarak ikinci bir döngü oluşturduk ve bu döngüde sadece geri izlemeleri listeledik.

Sonuç

Kod anlatırken gerçekten çok zorlanıyorum çünkü karşımdaki kitlede hiç kod bilmeyen de var, biraz bilen de, uzman olan da. Ben kendime en az bileni kıstas olarak alıyorum ve o şekilde anlatmaya çalışıyorum. Bu yazımda değişiklikleri resim ile gösterdim. Umarım sizi çok fazla sıkmadan anlatabilmişimdir mevzuyu.

Yorumlarla gönlümü ferahlatmanız dileğiyle, hoşçakalın…

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.

Bu Yazıya Ait Yorumlar

emrah üstün

emrah üstün
05 Eylül 2008

Erhan, türkçeye özen gösteren sayılı kişilerdeniz.
SEO’yu düşürdüğü halde başlıkta ‘Geri İzleme’ dediğin için tebrik ve teşekkür.

yakuter

yakuter
05 Eylül 2008

Teşekkür ederim Emrah. Bu konuda hep dikkat etmeye çalıştığımı biliyorsun. Geri izleme, betik, anaçatı (framework), eklenti, günlük… İnşallah dahası da gelecek ;)

NeTHaLiL

NeTHaLiL
05 Eylül 2008

Güzel bir yazı olmuş bende blogumda bu şekilde kullanıyorum daha düzenli oluyor..

Kemal Gürler

Kemal Gürler
06 Eylül 2008

Parse error: syntax error, unexpected ‘}’ in …/wp-content/themes/structure/comments.php on line 77

hatası verdi bende ama , sağolun yine de..

yakuter

yakuter
06 Eylül 2008

Süslü parantezi kapatmayı unutmuşsun. Daha dikkatli bir şekilde uygularsan sorunun çözüleceğini düşünüyorum.

JerenCe

JerenCe
07 Eylül 2008

Tamda aradığım buydu, ama olmadı ki :(

MiM

MiM
08 Eylül 2008

Teşekkür ederim. Bizim için hazırladığın resim birazda bizim kodlarla haşır neşir olmamız içinmiydi acaba? Açıkcası hoşuma gitti.

Son Günlerde - Seri 6 - Günlük Haftalık Aylık

Son Günlerde - Seri 6 - Günlük Haftalık Aylık
11 Eylül 2008

[...] WordPress’te Yorum ve Geri İzlemeleri Ayırmak. # [...]

bilginyoksa

bilginyoksa
13 Eylül 2008

gerçekten güzel bir yazı olmuş bende wordpress’in sürümünü güncelledikten sonra ayırmayı düşünüyorum sağolasın

UB

UB
13 Eylül 2008

Teşekkürler yakuter. Tam da yorum kısmını yenileyecektim temamın… Google aramalarından kurtardın beni. :)

ozanTi

ozanTi
19 Eylül 2008

sağol Erhan abi,ama ben daha önce bunu deneyip becerememiştim :) bir daha deneyeceğim sağol tekrar

yakup

yakup
25 Eylül 2008

“Kodları hap şeklinde vermek yerine önce ne yaptığımızı anlayalım. Mantık aslında oldukça basit.” ne güzel demişsin Erhan abi :-) Çok güldüm valla.

Hayalmeyal

Hayalmeyal
10 Kasım 2008

Çok sağol, sitemde uyguladım, ama sormak istediğim birşey var, yorumların başlığında geri izlemeleri de yorum olarak sayıyor, geri izlemeleri ayrı saydırmak için hangi kodu eklememiz lazım ?
Örenek:
Bu yazı için 2 yorum 3 geri izleme..

ersin

ersin
16 Aralık 2008

ufak ama çok güzel bir ayrıntı bence.

susmayiz

susmayiz
01 Ocak 2009

paylasım ıcın tesekkurler….

ibrahim

ibrahim
15 Ocak 2009

Teşekkürler

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi). Hosting sponsoru WebGrup.
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.

WordPressValid XHTML 1.0 TransitionalBu web sitesi ne kadar popüler?php