WordPress: Blogda PDF Dosyaları Gösterme

WordPress alt yapısı kullandığımız blogumuzda PDF dosyalarını göstermek için birçok yol var. Bunlardan büyük kısmını ise eklentiler oluşturuyor. Ancak her işlev için eklenti kullanmak sistemi maalesef yoruyor ve gereksiz şişmelere neden oluyor. Bunun yerine entegre kodlar işe daha çok yarıyor. PDF dosyalarını bir diğer şekilde ise dış servislerden alınan embed kodu ile veya link ile göstermektir. Ancak biz kendi sunucumuzda barındırdığımız PDF dosyalarını bu şekilde görüntüleyemeyiz. Bu konuda da imdada yetişen Google Docs oluyor. Sadece ufak bir kod yardımı ile.

Kodu temamızın functions.php dosyasına yerleştiriyoruz.

function pdflink($attr, $content) {
	return '<a class="pdf" href="http://docs.google.com/viewer?url=' . $attr['href'] . '">'.$content.'</a>';
}
add_shortcode('pdf', 'pdflink');

Kodu ekledikten sonra kullanımı için yazılarımızda kullanım için link verme mantığı aşağıdaki gibi olacak. Daha doğrusu kullanım şekli…

[pdf href="http://pdfdosyasının adresi/varsadizini/dosyaadı.pdf"]Yazı içinde PDF'ye link için yazılacak kelime[/pdf]

Yazının orjinali buradadır

Gmail’i Buzz Tuttu

Gmail içinde yeni bir Google oyuncağı olan Buzz yerini aldı. Dün biraz oynadık tabi bu oyuncakla. Genel izlenim iyi yönde.  Wave fiyaskosunun ardından FriendFeed’e alternatif olarak Buzz’un gelmesi aslında sürpriz oldu. Ayrıca dün Google DNS kullanıcıları bir süre FriendFeed’e erişim sağlayamadı. Ancak her yeni servis gibi Buzz’un da çeşitli eksikleri ve hataları var. Ben kendimce şöyle bir liste yaptım.

  1. Gmail’e girmeden açılmıyor.
  2. Google Profilinden görünüyor anca canlı akış değil sadece kendi iletilerimizi görebiliyoruz.
  3. Diğer servislerdeki gibi tasnif yok. Yani gelene mesajlar, bizim katkıda bulunduğumuz girdileri görme imkanı sandığımızdan daha zor.
  4. Yorum bıraktığımız girdilere gelen yorumlar e-postamızın yani Gmail’in gelen kutusuna düşüyor ki bu çok büyük bir yanlış. Kimse posta kutusunun böyle şeylerle dolmasını istemez.
  5. “Mute” dediğimiz girdileri geri çağırma özelliği yok. Bunu bıraktık bunların toplu olarak listelendiği bir yer de yok.
  6. Aylar önce yazdığımız bir yazıyı Buzz yeni çektiği için sanki yeni bir girdiymiş gibi gösteriyor. Bu çok kaka bir durum.
  7. Kullandığımız servisleri entegre etme, içeri çağırma özelliklerini seçme gibi bir bölüm yok.
  8. Arkadaş listesini düzenleme gibi bir yetki sahibi değiliz.
  9. FriendFeed’deki gibi bir akış yok. Yani son eklenenler hemen ilk sırada çıkmıyor. Her girdiğimizde aynı yazılarla, aynı paylaşılan öğelerle karşılaşabiliyoruz.
  10. Büyük boyutlu resimleri küçültmüyor.
  11. Çok yavaş çalışıyor.
  12. Madem bir Google oyuncağı öyleyse Google Reader’daki beğendiğimiz veya yorumladığımız içeriklerin Buzz’a da aynı eylemle düşmesi.
  13. Yeni düşen iletilerin daha belirgin olması.

İyi yanlarını da şöyle gösterelim.

  1. Kendi arkadaşlarımızla etkileşim içinde olma.
  2. Sahte hesapların bir miktar da olsa azalması.
  3. FriendFeed’deki gibi primli kişilere prim verilmemesi.
  4. Kendi girdimizi kendimizin beğenebilmesi.
  5. Bloglarla daha içli dışlı çalışabilecek olması.
  6. Şimdilik çok kalabalık olmadığı için daha sade ve daha güzel içeriklerin paylaşılması.
  7. Grup halinde gelen iletileri (Twitter iletilerinin toplu olarak gelmesi gibi) grup halinde göstermesi, kalabalık yapmaması.
  8. Dış kaynaklardan içeri alım yapılan resimleri lightbox ile açması ve resim kaynağını göstermesi.
  9. Paylaşım yapan arkadaşlarımızın Gtalk durumlarını göstermesi (meşgul, çevrimiçi, çevrimdışı).
  10. Daha önceden Google servislerini kullananların takip/takipçi sayılarının açılır açılmaz belli bir miktarda olması ve yabancılık çekilmemesi.
  11. RSS beslemesi var. #link

Aklıma gelenler olursa ekleyeceğim. Şimdi iki konuya el atalım.

  1. Az önce bahsi geçen yorum bıraktığımız veya beğendiğimiz iletilere gelen yeni yorumların Gmail gelen kutumuza düşmesi ve bizi rahatsız etmesi hususunda alınabilecek önlem filtre kurmaktır. Bunun için Gmail içinden Setting bölümüne buradan da Filters sekmesine gidip “create a filter” linkine tıklıyoruz. Şimdi karşımıza gelen ayarlardan subjet kutucuğuna Buzz yazalım ve bir sonraki adıma geçelim. Buradaki Skip the Inbox seçeneğini işaretliyoruz ve bir de etiket atayıp işlemi tamamlıyoruz. Artık Buzz ile ilgili iletiler Gelen Kutusu’na değil bu yeni oluşturduğumuz etiket altına düşecektir.
  2. FriendFeed veya diğer kullandığımız servislere Buzz’u entegre etmek için RSS adresi kullanıbilir. Bunun için http://buzz.googleapis.com/feeds/hamdiyaman/public/posted adresinde hamdiyaman yazan kısma kendi profil isminizi yazmanız yeterli.

Son olarak söyleyeceğim beni takip etmek isteyen arkadaşlar için profil adresim buradadır. Hepinizi beklerim. İki çift lafın belini kıralım. Olmazsa okey oynarız, çifte gider tur deriz 🙂

WordPress:Spam Yorumları Otomatik Olarak Çöp Kutusuna Gönderme

Bloglarımızda en sık karşılaştığımız sorunlardan birisidir spam yorumlar. Ancak WordPress’de bunun önüne geçmek için akismet tarzı eklentiler kullanılıyor. Bu tür eklentiler yorumları filtreleyip yorumların içindeki kelimelere göre içlerinden spam olanları çekip alıyor. Şimdi değineceğimiz konu ise bu yorumlar geldiğinde akismete veya diğer filtreleme eklentilerine devretmek yerine WordPress’in yeni özelliği “çöp” kutusuna direkt göndermekle ilgili olacak. Çöp kutusuna gönderme işin içine girince ekstra bir eklenti kurmaya da gerek kalmıyor. Çalışma mantığı olarak da belli kelimelerin bulunduğu bir havuzumuz var. Gelen yorumlar bu havuzdaki kelime veya kelime grupları ile karşılaştırılıyor. Eğer havuzdaki kelimelerden birisi kullanılmışsa hemen yorum çöpe atılıyor. Şimdi kodumuzu görelim ve ondan sonra birkaç noktaya daha değinelim.

Kodu temamızın foksiyon dosyası olan functions.php dosyasına ekliyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function in_comment_post_like($string, $array) {
	foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
	return false;
}
function drop_bad_comments() {
	if (!empty($_POST['comment'])) {
		$post_comment_content = $_POST['comment'];
		$lower_case_comment = strtolower($_POST['comment']);
		$bad_comment_content = array(
			'viagra',
			'hydrocodone',
			'hair loss',
			'[url=http',
			'[link=http',
			'xanax',
			'tramadol',
			'russian girls',
			'russian brides',
			'lorazepam',
			'adderall',
			'dexadrine',
			'no prescription',
			'oxycontin',
			'without a prescription',
			'sex pics',
			'family incest',
			'online casinos',
			'online dating',
			'cialis',
			'best forex',
			'amoxicillin'
		);
		if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
			$comment_box_text = wordwrap(trim($post_comment_content), 80, "\n  ", true);
			$txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');
			fwrite($txtdrop, "  --------------\n  [COMMENT] = " . $post_comment_content . "\n  --------------\n");
			fwrite($txtdrop, "  [SOURCE_IP] = " . $_SERVER['REMOTE_ADDR'] . " @ " . date("F j, Y, g:i a") . "\n");
			fwrite($txtdrop, "  [USERAGENT] = " . $_SERVER['HTTP_USER_AGENT'] . "\n");
			fwrite($txtdrop, "  [REFERER  ] = " . $_SERVER['HTTP_REFERER'] . "\n");
			fwrite($txtdrop, "  [FILE_NAME] = " . $_SERVER['SCRIPT_NAME'] . " - [REQ_URI] = " . $_SERVER['REQUEST_URI'] . "\n");
			fwrite($txtdrop, '--------------**********------------------'."\n");
			header("HTTP/1.1 406 Not Acceptable");
			header("Status: 406 Not Acceptable");
			header("Connection: Close");
			wp_die( __('bang bang.') );
		}
	}
}
add_action('init', 'drop_bad_comments');

Fonksiyonda kelime havuzumuz 10. satırdaki ilaç markası ile başlıyor (direkt ilaç ismini yazmama sebebim Google aramalarında o ilaçla ilgili aramalarda blogumun listelenecek olması ve gerçekten bunu hiçbirimiz istemeyiz). Eklemek istediğimiz kelime veya kelime grupları varsa onları da aynı havuzdaki biçimde yani ‘kelime’; şeklinde araya sıkıştırmak yeterli olacaktır 🙂 Bu fonksiyonu ayrıca istemediğimiz bir yazıya gelen yorumları elemek için de kullanabiliriz. Mesela blogumda çok önceleri yazdığım msn şifresi ile ilgili bir yazı var. Bunu tamamen eğlenci amaçlı yazmıştım anca sonraları google aramalarında ilk sıralarda çıktı. Ve ardından hergün bu konuyla ilgili onlarca yorum silmek zorunda kaldım. Ben buna çözüm olarak ‘msn şifre’ yazacağım havuza. Çünkü bu yazıya gelen yorumların çoğunluğu bu kelimeleri içeriyor. Otomatik olarak silinmiş olacak yorumlar. Ayrıca diğer küfürlü yorumlar için de kullanabileceğiz.

Yazının orjinal hali WpRecies‘de mevcuttur.

Twitter ve FriendFeed İçin Arka Plan Hazırlarken Önemli Noktalar

Twitter ve FriendFeed’de biz kullanıcılara kendi dizaynımızı uygulamamız için gereken alt yapı sağlanmış durumdadır. İstediğimiz renk kombinasyonlarını ve arkaplan resmini kullanabiliyoruz. Özellikle tek parçadan oluşan arka plan resimlerinde değişik çözünürlük ve ekran büyüklüklerinde çok fazla farklar ortaya çıkabiliyor. Bir yere konumlandırılmış nesne sayfanın altına kalabiliyor mesela. İşte bu yazımda bunları en azanasıl indirebileceğimize bakacağız.

Pattern dediğimiz dolgu arkaplanlarında herhangi bir sorun yaşanacağını söylemek zor. Çünkü bu resimler her iki serviste de “tile image” seçeneği yardımıyla çözünürlüğe göre sürekli olarak tekrar eden bir biçimdedir. Yani tamamen dolgu yapmaktadır. Bu tür resimler küçüktür ve her seferinde birbirini tamamladığı için bir problem çıkartmazlar. Bunlar için çok fazla söylenecek birşey de yok zaten.

Asıl yoğunlaşacağımız nokta tekrar etmeyen tek resimlerden oluşan arkaplanlar olacak. Çünkü bazen çileden çıkartabiliyor insanı. Büyük resimler genelde tekrar etmezler. Çünkü tekrar ettikleri zaman çok aşırı farklar ortaya çıkar ve tasarım bütünlüğünü bozar. Bunun için de tekrar etmeden yerleştirilir. Ancak tekrar etmediğinde de büyük ekranlarda kenarlarda ve altta boşluklar ortaya çıkar. Yine bu da tasarım bütünlüğünü bozar. Peki kendi özel arkaplanlarımızı kullanmanın en mantıklı yolu nedir? İşte bunu birkaç adımda inceleyelim.

Örnek parça resim1-Arka Plan Resminin Yoğunluğu Tepede Olmalı

Arkaplanımızda vermemiz gereken mesajı, görseli yoğunluk olarak en üstte vermeliyiz. Çünkü her iki serviste de değişik çözünürlüklerde sorunsuz görünen ve konum değiştirmeyen kısım en üst kısımdır. Tepeden yaklaşık 100 pixel yükseklite bir alanı yoğunluk olarak kullanmalı. Yan resimde yukarıdan beyaz çizgiye kadar olan kısım 100 pixel’dir.

2-Resimleri Belli Bir Renge Doğru Yoğunlaştırmalı

Resimleri belli bir renge doğru yoğunlaştıtırsak sonrasında kullanacağımız arka plan resmi yerine renk olacaktır. Ve renk ile arka plan resmi bir bütünlük oluşturacaktır. Ayrıca bu tasarımımızın hızlı açılmasını da sağlayacaktır. Örnek resimde beyaz çigiye kadar olan alanda çok koyu bir kahverengiye doğru yoğunlaştırılmış ve sonrasında da o alnın rengi kullanılmıştır. Görüldüğü gibi bir sıkıntı da ortaya çıkmamıştır.

3-Resim Genişliği 1920 Pixel Olmalı

Şu anda piyasadaki en büyük monitör boyutlarının 106 cm FuLL HD TV’ler olduğunu düşünürsek ve bunların da 1920 pixel genişliğe kadar çıkacağını hesaba katarsak görüntü bütünlüğünde kayıp yaşamamak adına resim genişliğimizi 1920 pixel yapmalıyız. Tekrar etmesi gereken kısımları kendimiz resim üzerine işlemeliyiz.

4-Resim Üzerindeki Nesne Yoğunluğu Orta Kısımlara Dağıtılmalı

Örnek resimde mantar ve kuş resimlerinin yoğunluğunu orta bölümlere koydum. Sebebi de yaygın olarak kullanılan çözünürlüklerde bu alanın daha sık görüntüleneceğindendir. Geri kalan kısımlarda ise sürekli tekrar eden desen veya nesneler oluşturulabilir.

5-Resmin Gerçek Görüntü Kalitesi %60 Oranına Çekilmeli

Resmin görüntü kalitesini biraz azaltmalıyız ki profilimizin açılması hızlı olsun. Eğer en yüksek görüntü kalitesini kullanırsak çok geç yüklenecektir.

Örnek Twitter hesabım

Örnek FriendFeed hesabım

Son olarak dizayn bütünlüğü açısından renk paletleri de kullanılmalı.

WordPress:Son Yorumları Gravatar İle Gösterme

WordPress blogların hemen hemen tamamında “son yorumlar” adında bir bölüm görüyoruz. Bu bölüm blog içerisinde yazı zamanı gözetmeksizin ziyaretçi tarafından en son yapılan yorumları gösterir. Genelde gördüklerimiz yorum yazarının adı ve yorum formatındadır. Ancak bazı temalarda bu formata ilave olarak resim, avatar da gösteriliyor. Özellikle özel temalarda bunu görmek mümkün. Görsel olarak çok güzel görünüyorve tabi anlaşılırlık olarak da aynı seviyede… Resimler ise Twitter veya Gravatar servislerinde belirlenmiş profil reimlerinden alınıyor. Bu yazımızda Gravatar’dan alınan küçük resimlerle bunun nasıl yapılacağına bakacağız. Aslında çok basit bir kod yığınından faydalanıyoruz bunu yaparken.

Aşağıdaki kodu temamızın “sibebar.php” veya başka göstermek istediğimiz bir yer varsa oraya kopyalıyoruz.

<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDER BY comment_date DESC LIMIT 0 ,5";
$comments = $wpdb->get_results($query);
 
if ($comments) {
    echo '<ul>';
    foreach ($comments as $comment) {
        $url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">';
        echo '<li>';
        echo '<div class="img">';
        echo $url;
        echo get_avatar( $comment->comment_author_email, $img_w);
        echo '</a></div>';
 
        echo '<div class="txt">Par: ';
        echo $url;
        echo $comment->comment_author;
        echo '</a></div>';
        echo '</li>';
    }
    echo '</ul>';
}
?>

Yazının aslı ve kaynağı Wp Recipes‘dir.

Çok Görselli Yazıları Hazırlarken…

Yazılarımızda en önemli öğelerden birisi de kullandığımız görsellerdir. Görseller yazıdakilerin anlatılmasında büyük rol oynar. Ancak bu tür yazılar nedense fazla zaman alır. Bunun nedeni de kullanılacak görsellerin Photoshop’da boyutlandırılması, ayarlanmasından kaynaklanır. Özellikle ekran görüntülerinin yer alacağı yazılar bazen çileye dönüşebiliyor. Önce ekran görüntüsünün alınması, Photoshop veya bu tür bir programda boyutlandırılması ve daha sonra da sunucuya yüklenmesi derken bakmışız ki saatler geçmiş.

Geçtiğimiz hafta yayınlandığım 65 kullanışlı footer yazımın bir kısmını Windows Xp yüklü işyerindeki bilgisayardan bir kısmını da Windows 7 yüklü netbookumdan hazırladım. İşyerindeki bilgisayardan ekran görüntülerini tek tek alıp resim işleme programında boyutlandırdım. Ama bu işlem çok uzun sürdü. Akşam olup diğer bilgisayarıma geçince Windows Vista ve 7’de hazır olarak gelen Ekran Alıntısı Aracı’nı çalıştırdım. İnanılmaz derecede işlemleri kısalttı.

Ancak 500 pixel genişlikte olması gerekiyordu resimlerimin. Ben zaten resimleri kendi sunucuma değil Flickr’a yüklüyor ve buradan aktarıyorum. Flickr ise bizlere öyle bir güzellik yapıyor ki hangi boyutta olursa olsun 500 pixel genişlikte bir boyutunu almamızı sağlıyor yüklediğimiz resimlerin.

Böylece normalde 4-5 saatte yapmam gereken işi 2 saate yakın bir süre zarfında tamamladım. Eğer işyerindeki bilgisayardaki taktikle devam etseydim eminim ki o yazıyı halen yazıyor olacaktım 🙂

Boyutlandırma işlemi WordPress’de de var aslında. Resimleri sunucuya aktardıktan sonra resim detaylarından yüzde (%) olarak boyutlandırma var. Ve istediğimiz kadar resmimizi oransal olarak küçültebiliyor. Bu da Ekran Alıntısı Aracı’nın gerçekten çok işe yaradığının göstergesi.

Tavsiyem kesinlikle bu aracın kullanılmasından yanadır. Başlat/Programlar/Donatılar altında Windows 7 ve Vista’da bu araca ulaşmak mümkün.

Bir diğer tavsiyem de resimlere bağlantı vereceğimiz yazılardan yana olacak. Örneğin 65 kullanışlı footer yazımda her resimde ait olduğu siteye gitmek için bağlantılar bulunuyor. Özellikle resimlerini benim gibi dış bir kaynağa yükleyenler için resimleri numaralandırmak ve bir not defteri açıp oraya da numarayı hemen yanına da bağlantı adresini yazmak yine hız kazandıracaktır. Çünkü her resmin bağlantısını hafızada tutmak çok güçtür ve aşırı vakit kaybına neden olur.

Benim tavsiyelerim bu kadar, sizinkileri de dinlemeye her zaman hazırız. Yorumlarınızı esirgemeyin 🙂

Firefox’da goo.gl Kullanımı

Birçoğumuz Google’ın geçtiğimiz hafta  Goo.gl adında bir link kısaltma servisi açtığını biliyoruz. Ancak diğer URL kısaltma servislerindeki gibi servis olarak çalışmıyor. Yardımcı araçlar ve kendi bünyesindeki araçlar ile çalışıyor. Google Chrome için eklentisi var ancak Firefox için yapılan çok da birşey yok. Ben araştırıp anca bir tane eklenti bulabildim ama o da çalışmadı. Bunun yerine Bookmarklet imi olarak kullanılan güzel bir javascript betiğinden yararlanacağız.

Goo.gl =bu linki yer imlerine doğru sürükleyip bırakın.

Kullanım için de yer imlerindeki Goo.gl butonuna basıp oluşan kodu uyarı penceresinden kopyalamak yeterlidir.

FriendFeed Embed Özelleştirme

Temamda kullandığım sosyal akış sayfasında kullandığım sosyal ağ ve servislerdeki son durum güncellemelerinin gösterildiğini söylemiştim. Bunun için de FriendFeed’in sağladığı API desteğini kullanmıştık. API arkaplan rengi, durum görüntülerinin istediğimiz şekilde düzenlenmesine imkan veriyor. Ancak biraz da programlama bilgisine sahip olmamız gerekiyor. Ancak FriendFeed’i sitemize eklerken özelleştirme yapmak için bir diğer yol da embed kodumuzu CSS ile desteklemektir.

Dün bir projemde kullanırken öğrendim FriendFeed’in embed koduna CSS ile katkı sağladığını. Düzeni bozmamak için varsayılan çerçeve rengini, yazı tipini, yazı rengini, logo durumunu ve daha birçok özelliği kendimiz belirleyebiliyoruz. Sadece arkaplan için herhangi bir yetkilendirme yapamıyoruz. Zaten logoyu gizleme, hesap daveti gibi özellikleri kaldırmak için embed kodunu oluşturmadan önce seçenekleri ayarlıyoruz. Bunun dışındaki çerçeve rengi, yazı tipini ise aşağıdaki kod ilebelirlemek mümkün.

#friendfeed { border: 0px !important;
background:none !important;}
.widget { border: 0px !important; font-family: Arial, Helvetica, sans-serif;}
.feed { border: 0px !important; font-family: Arial, Helvetica, sans-serif;}
.body {   border: 0px !important }
.logo { border: 0px !important }

Bu kodu sitemizin CSS dosyasına ilave ediyoruz. Hepsi bu kadar.

FeedBurner Beslemesini Twitter’da Görüntüleme

Google hergün karşımıza bir yenilikle çıkıyor. Dün link kısaltma ile ilgili çalışmalarını internette okumuştuk. Goo.gl şeklinde link kısaltmalarını artık çokça göreceğimiz kesin. Bununla birlikte bir diğer değişiklik de FeedBurner hesabımıza Twitter hesabımızı entegre etmemizdir.

Yani mevcut FeedBurner beslememize düşen girdileri otomatik olarak Twitter’da gönderip paylaşmak mümkün. Zaten yukarıdaki her iki yenilik de birbiri ile bağlantılı. Çünkü Twitter uzun linkleri otomatik kısaltıyor.  Entegre işlemi için FeedBurner hesabımıza giriş yapıp besleme adına tıklıyoruz. Karşımıza bir sonraki adımda gelecek olan sayfadaki üst menüden “publicize” seçeneğine gidiyoruz. Buradan da “socialize” kısmına gidiyoruz.

Bizi karşılayan bu sayfadaki “add a twiter account” butonuna basıyoruz. Buradan bizi Twitter’ın onaylama sayfayasına götürecek. Buraya güvenerek Twitter kullanıcı adı ve parolamızı girip “allow” yönergesine gidiyoruz. Ardından da üst resimdeki sayfanın en altına gidip “active” butonuna giderek bu özelliği aktifleştiriyoruz. Post Content seçeneğinden ister sadece başlık istersek hem başlık hem de izin verilen karakter sayısı kadar içerik Twitter’da yayınlanabilir.

Beslemelerimize düşen girdiler Twitter’da yukarıdaki gibi görünecek. Tabi başlık ve içerik olarak yayınlamayı seçersek içeriğin de bir kısmını görebiliriz. Böylece bir eksik daha çok iyi bir şekilde kapatılmış oldu.

WordPress:Yorum Formunda HTML Etiket Kullanımını Engelleme

Blogların en can alıcı noktalarından birisi yorumlardır kuşkusuz. WordPress bloglarında da diğer bloglar gibi yorumlar mevcuttur. Hatta gelişmiş özellikler de sunabilir. Bunlardan birisi HTML etiketlerinin kullanılmasıdır. HTML etiketleri de yorum içinde link verme, resim gösterme, kalın veya italik yazı yazma gibi bazı özellikler sunuyor. Ancak bir durum da var ki bu etiketler açık olduğu taktirde spam mesajların da vazgeçilmezi durumuna geliyor. Spam mesajlar için her ne kadar eklentiler bulunsa da tam istenilen sonuçlara ulaşılamıyor. Örneğin Akismet’de bazı spam olmayan yorumlar da spam olarak alglanıyor ve silme işleminde kurunun yanında yaş da yanar misali siliniyorlar. HTML etiketleri kaldırdığımız taktirde bunların tamamen olmasa da bir miktar önüne geçmiş oluyoruz.

HTML etiketlerini kaldırmak için temamızın functions.php dosyasına aşağıdaki kodu dahil ediyoruz:

// This will occur when the comment is posted
function plc_comment_post( $incoming_comment ) {
// convert everything in a comment to display literally
$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
// the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
$incoming_comment['comment_content'] = str_replace( "'", '&amp;apos;', $incoming_comment['comment_content'] );
return( $incoming_comment );
}
// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display ) {
// Put the single quotes back in
$comment_to_display = str_replace( '&amp;apos;', "'", $comment_to_display );
return $comment_to_display;

Hepsi bu kadar. Yazının orjinali de burada yer almaktadır.