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.
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 .
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; ?>
Ö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.
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…
Sayfalar: 1 2 » Hepsini Göster
Sayfalar: 1 2 » Hepsini Göster
Kuvvet ordudur. Düşmanlar milletimizi bağımsızlıktan mahrum etmek için evvela onu ordudan mahrum etmek çarelerine giriştiler. Kumandanlarımıza ve subaylarımıza tecavuz etmeye başladılar. Ordumuzu tamamen lağvederek milletin bağımsızlığını muhafaza için muhtaç olduğu dayanak noktasından mahrum etmeye teşebbüs ettiler. Herhalde ordu düşmanlarımızın birinci taaruz hedefi oldu. Orduyu imha etmek için de mutlaka subayları mahvetmek ve aşağılamak lazımdır. Bundan sonra milleti koyun sürüsü gibi boğazlamakta engeller ve müşkülat kalmaz.
Mustafa Kemal Atatürk
Rastgele Sözler Eklentisi ile oluşturulmuştur.
yakuter.com © 2006-2009 Erhan Yakut. Site tasarım fallendesign. Hosting sponsoru WebGrup.
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.
1 emrah üstün
05 Eylül 2008, 21:51
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.
2 yakuter
05 Eylül 2008, 22:37
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 ;)
3 NeTHaLiL
05 Eylül 2008, 23:26
Güzel bir yazı olmuş bende blogumda bu şekilde kullanıyorum daha düzenli oluyor..
4 Kemal Gürler
06 Eylül 2008, 15:56
Parse error: syntax error, unexpected ‘}’ in …/wp-content/themes/structure/comments.php on line 77
hatası verdi bende ama , sağolun yine de..
5 yakuter
06 Eylül 2008, 16:07
Süslü parantezi kapatmayı unutmuşsun. Daha dikkatli bir şekilde uygularsan sorunun çözüleceğini düşünüyorum.
6 JerenCe
07 Eylül 2008, 19:11
Tamda aradığım buydu, ama olmadı ki :(
7 MiM
08 Eylül 2008, 19:11
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.
8 Son Günlerde - Seri 6 - Günlük Haftalık Aylık
11 Eylül 2008, 11:55
[...] Wordpress’te Yorum ve Geri İzlemeleri Ayırmak. # [...]
9 bilginyoksa
13 Eylül 2008, 14:45
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
10 UB
13 Eylül 2008, 16:43
TeÅŸekkürler yakuter. Tam da yorum kısmını yenileyecektim temamın… Google aramalarından kurtardın beni. :)