2008, WordPress kullanıcıları için çok iyi bir yıl oldu. Yazılım pek çok kez güncellenerek şu anki geçerli sürüm olan 2.7 sürümüne ulaştı ve kendisini WordPress’e adamış pek çok yeni blog faaliyete geçti. Elbette bu sırada bir sürü yeni WordPress hilesi keşfedildi ve bu hileler, bloglarını geliştirmek isyeyen kullanıcılara yardımcı oldu.Bu makalede size sevdiğiniz bloglama motorunun gizli gücünü açığa çıkarmanıza yardımcı olacak 10 yeni ve kullanışlı WordPress Hilesini göstereceğiz. Her bir hilenin kendine özgü açıklaması da yer alacak, bu sayede sadece ilgili hileyi etkinleştirebilmek için ihtiyacınız olan kod parçacığına sahip olmakla kalmayacak, ayrıca o hilenin nasıl çalıştığını da anlayabileceksiniz.
* 1. AdSense reklamlarını sadece arama motoru üzerinden gelen ziyaretçilere göstermek

Problem: Sitenizi düzenli olarak ziyaret eden ziyaretçilerinizin reklamlarınıza tıklamadığı bilinen bir gerçek… Reklamlarınıza tıklayan ziyaretçilerin %90’ını, arama motorları üzerinden sitenizi ziyaret eden ziyaretçilerin oluşturduğu biliniyor.
Bir diğer problem ise Google’ın “akıllı fiyatlama” tekniği. Akıllı fiyatlamanın bir sonucu olarak tıklanma oranınız düşük oluyor ve tıklama başına kazandığınız oran 2 ila 10 arasında bir rakam ile bölünüyor. Örneğin, eğer bir tıklama size normalde 1 dolar kazandırırsa, “akıllı fiyatlama” ile kazanacağınız bu oran 10 cent’e kadar düşebilir. Üzücü değil mi? Ancak aşağıda detaylandıracağımız çözüm ile reklamlarınız sadece arama motorlarından gelen ziyaretçilere gösterilmesi sonucunda tıklama oranınız daha az gösterime oranla daha fazla olacağından, tıklama başına elde edeceğiniz gelir de artacaktır.Çözüm:
1. Temanızdaki functions.php dosyasını açın.
2. Aşağıdaki kodu yapıştırın:function scratch99_fromasearchengine(){$ref = $_SERVER[‘HTTP_REFERER’];$SE = array(‘/search?’, ‘images.google.’, ‘web.info.com’, ‘search.’, ‘del.icio.us/search’, ‘soso.com’, ‘/search/’, ‘.yahoo.’);foreach ($SE as $source) {if (strpos($ref,$source)!==false) return true;}return false;} 3. Ardından aşağıdaki kodu, temanızda AdSense reklamlarının görüntülenmesini istediğiniz herhangi bir yere yapıştırın. Bunun sonucuda reklamlar sadece arama motorları üzerinden gelen ziyaretçilerinize gösterilecektir.if (function_exists(‘scratch99_fromasearchengine’)) {if (scratch99_fromasearchengine()) {KODUNUZU BURAYA EKLEYIN}} Kod Açıklaması: Bu hile scratch99_fromasearchengine() fonksiyonunu oluşturmakla işe başlıyor. Bu fonksiyon, sizin arama motorlarını tanımlayacağınız $SE dizisini de içeriyor. Bu sayede diziye yeni elementler ekleyerek yeni arama motorlarını tanımlamanız mümkün.
Kaynaklar:
* Reklamları sadece arama ziyaretçilerine nasıl gösterebilirsiniz* Nasıl Yapılır: AdSense’i sadece arama motoru ziyaretçilerinize gösterin* 2. Birden Fazla Döngülerde Benzer Girdileri Engellemek

Problem: “Dergi” temalarının son zamanlarındaki popülerliği sebebiyle WordPress kullanıcılarının blog ana sayfalarında birden fazla kez kullandıkları döngülerde benzer girdilerin belirmesini engellemeye yönelik çözüm arayışları her geçen gün artıyor.
Çözüm: İşte bu soruna PHP dizilerinden faydalanılarak geliştirilmiş basit bir çözüm:
1. Basit bir PHP dizisi oluşturarak ve tüm yazı IDlerini içerisindeki ilk döngüye dahil ederek işe başlayalım.

Loop n°1


ID;endwhile; ?> 2. Şimdi sıra ikinci döngümüzde: in_array() PHP fonksiyonunu kullanarak yazı ID’sinin $ids dizisinde yer alıp almadığını kontrol edelim. Eğer ID dizi içerisinde yer almıyorsa, o zaman ilgili makaleyi döngümüzde gösterebiliriz, zira makale ilk döngümüzde yer almıyordu.

Loop n°2

ID, $ids)) {the_title();?>
Kod Açıklaması: İlk döngü çalıştırıldığı zaman, içerisindeki tüm yazıların IDler, bir dizi değişkenine aktarılır. İkinci döngümüz çalıştırıldığında geçerli makalenin ID’sini, birinci döngümüzde yer alıp almadığını, diziye gönderme yaparak kontrol ediyoruz.
Kaynaklar
* Nasıl yapılır: Benzer yazılar olmadan iki (ya da daha fazla) döngü kullanmak* 3. “Önceki” ve “Sonraki” sayfa bağlantılarını Sayfa Numaraları ile değiştirmek

Problem: Ön tanımlı olarak WordPress, önceki ve sonraki sayfalara ait bağlantılar içerir. Hiç yoktan iyi olmasına rağmen, WordPress uzmanlarının neden bu bağlantılar yerine sayfa numaralarını öntanımlı olarak kullanmadıklarını anlamıyorum. Elbette blogunuza bu özelliği kazandıracak eklentiler bulunmasına rağmen neden bunu doğrudan temanıza entegre etmeyiniz.
Çözüm: Bu hileyi kullanabilmek için WP-PageNavi eklentisini kullanacağız ve bunu doğrudan temamıza entegre edeceğiz.
1. İlk yapmanız gereken, elbette, eklentiyi indirmek.2. Eklenti arşiv dosyasını yerel bilgisayarınızdaki bir dizine açın ve wp-pagenavi.php ve wp-pagenavi.css dosyalarını tema dizininize aktarın.
3. Sayfa numaralarının görüntülenmesini istediğiniz dosyayı açın (örneğin index.php, categories.php, search.php, vs.), ve aşağıdaki kodu bulun.


4. Yukarıdaki kodu aşağıdaki ile değiştirin. 5. Şimdi eklenti dosyasını değiştirmemiz gerekiyor. Bunun için wp-pagenavi.php dosyasını açın ve 61. satırdaki aşağıdaki kodu bulun: function wp_pagenavi($before = ”, $after = ”) {global $wpdb, $wp_query; pagenavi_init() fonksiyonunu çağırmamız gerekiyor, o yüzden gelin şöyle yapalım: function wp_pagenavi($before = ”, $after = ”) {global $wpdb, $wp_query;pagenavi_init(); //Calling the pagenavi_init() function 6. Neredeyse bitti. Yapılacak son şey, wp-pagenavi stil şablonunu blogunuza entegre etmek. Bunu yapmak için header.php dosyasını açın ve aşağıdaki satırı ekleyin:
Nasıl yapılır: WordPress temasına sayfalamayı dahil etmek* 4. Sayfa İçeriğinde İmajları Otomatik Olarak Almak

Problem: Özel alanlar kulanılarak makalelerinizle ilişkili resimleri görüntüleyebilmek gerçekten güzel bir fikir olmasına güzel ama pek çok WordPress kullanıcısı, metne ilişkilendirilmiş resimleri alabilecek bir çözüm arayışı içerisindeler.
Çözüm: Bildiğimiz kadarıyla bunu yapabilecek herhangi bir eklenti bulunmuyor. Ancak aşağıdaki kod parçacığı tam da aradığımız özelliğe ulaşmamızı sağlayacak işi yapıyor: Makale içeriğinde resimleri arıyor ve bulunan sonucu ekranda görüntülüyor.
1. Aşağıdaki kodu temanızda herhangi bir yere yapıştırın.post_content;$szSearchPattern = ‘~]* />~’;// Tüm imajları almak ve sonuçları $aPics ‘e kaydetmek için preg_match_all ‘ı çalıştırpreg_match_all( $szSearchPattern, $szPostContent, $aPics );// En azından 1 imajımızın olup olmadığını kontrol et$iNumberOfPics = count($aPics[0]);if ( $iNumberOfPics > 0 ) {// Şimdi burada imajlarla ilgili yapmak istediğiniz her şeyi yapabilirsiniz.// Örnek olması için biz sadece imajları görüntüleyeceğizfor ( $i=0; $i < $iNumberOfPics ; $i++ ) {echo $aPics[0][$i];};};endwhile;endif;?> Kod açıklaması: Yukarıdaki kod genel olarak basit bir WordPress döngüsünü içeriyor. Buradaki tek fark, bizim PHP’nin yanısıra yazı içeriğindeki resimlere ulaşmamızı sağlayacak kurallı ifadeler kullanıyor olmamız. Eğer arama sonucunda herhangi bir imaj bulunuyorsa onlar görüntüleniyor.
Kaynaklar:
* Kurallı ifadeler ile WordPress yazı içeriğinden imajları almak.* Nasıl Yapılır: Yazı içeriğinden imajları almak.* 5. “Twitter’a Gönder” Düğmesi Oluşturmak

Problem: Twitter kullanıyor musunuz? Eğer öyleyse o zaman ilgili hizmetin ilgilendiğiniz çevrimiçi içeriğin arkadaşlarınızla ve sizi takip eden diğer insanlarla paylaşılabilmesi için ne kadar kullanışlı olduğunu bildiğinizden eminiz. O zaman neden ziyaretçilerinizi, içeriğinizi kendi Twitter hesaplarına tek bir fare tıklaması ile gönderebilmelerini sağlayarak biraz daha fazla ziyaretçi kazanmayalım?
Çözüm: Aslında bu hile çok basit. Tek yapmanız gereken status parametresi ile bir Twitter bağlantısı oluşturmak. WordPress blogu kullandığımız için, sayfa adresini almak için biz the_permalink() fonksiyonunu kullanacağız.
Nasıl Yapılır: “Bunu Twitter’a Gönder” Düğmesi Oluşturmakİlgili eklenti
* Twitter Araçları* 6. Kıvrık Alıntılar (Curly Quotes) yerine Normal Alıntılar Kullanmak

Problem: Eğer web sitesinde, çeşitli kod parçacıklarını çok sık paylaşan bir web geliştiricisi iseniz, o zaman şu problemle büyük ihtimalle karşılaşmışsınızdır: Ziyaretçiniz, size, sitenizdeki kodun çalışmadığını söyleyen bir mesaj atar… Neden mi? Özetle, çünkü WordPress, normal alıntıları (quote) “akıllı alıntılar” (smart quotes) adı verilen bir biçime dönüştürür ve bu da yayımlanan kodların işlevselliğini bozabilir.
Çözüm: Bu kıvrık alıntılardan kurtulmak için aşağıdaki adımları uygulayın:
1. Temanızdaki functions.php dosyasını açın… Eğer bu dosya yoksa kendiniz bu isme sahip bir dosyayı tema dizini içerisinde oluşturun.
2. Aşağıdaki kodu yapıştırın: 3. Dosyayı kaydedin ve çalışmayan kod parçacıklarına elveda deyin.Kod Açıklaması: wptexturize() fonksiyonu normal alıntıları akıllı alıntılara dönüştürür. remove_filter() fonksiyonunu kullanarak, WordPress’e bu fonksiyonun yazı içeriğine uygulanmasını istemediğimizi söylüyoruz.
Kaynak:
* WordPress blogunuzdaki kıvrık kodlardan nasıl kurtulabilirsiniz?* 7. Başvuran (Referrer) İsteği Olmayan İstemcilere Yorumu Kapatmak
Problem: Spam hiç şüphesiz her blogcu için bir problemdir. Elbette, Akismet bize yardımcı olmak için hazır beklerken, blogunuzu spam saldırılarına karşı biraz daha korunaklı kılmayı kim istemez ki? Aşağıdaki kod, wp-comments.php dosyasına erişim uygulandığında referrer’e (sayfanın çağırıldığı adres – başvuran) bakıyor. Eğer bir referrer bulunuyorsa ve bu da sizin blogunuzun adresi ise, yorumun gönderilmesine izin veriyor. Eğer bir referrer bulunmazsa yorum gönderilmiyor.
Çözüm: Bu hileyi uygulamak için aşağıdaki kodu function.php dosyasına dahil edin. Eğer temanız bu dosyaya sahip değilse oluşturun. function check_referrer() {if (!isset($_SERVER[‘HTTP_REFERER’]) || $_SERVER[‘HTTP_REFERER’] == “”) {wp_die( __(‘Tarayıcınızın referrer özelliğini etkinleştirin, ya da, eğer bir spamciyseniz, defolun gidin!’) );}}add_action(‘check_comment_flood’, ‘check_referrer’); Kaynak:
* Referrer isteği bulunmayanlar için yorumu kapatmak.* 8. WordPress Navigasyonunda CSS Kayan Kapıları Kullanmak

Problem: Bütünleşik wp_list-pages() ve wp_list_categories() fonksiyonları size pek çok şey yapabilmenizi sağlar, ancak elementini dahil etmenize izin vermez, ki bu elementle iyi bilinen CSS kayan kapılar tekniğini uygularız. Ne şans ki PHP ve kurallı ifadelerin de yardımı ile bu muhteşem tekniği WordPress blogumuzda kullanabiliriz.
CSS kayan kapılara dair rehberlerin sayısının fazlalığı nedeni ile bu tekniğin nasıl çalıştığını burada anlatmayacağız, bunun yerine eğer bu teknikle ilgili daha fazla bilgi sahibi olmak istiyorsanız o zaman bu muhteşem makaleyi okumanızı öneririz. Bu tekniğin kullanıldığı bir örnek projeyi görmek istiyorsanız o zaman buraya tıklayarak ana menüye odaklanın.1. İhtiyacınız olan imajları oluşturun ve ardından WordPress temanızdaki style.css dosyasını düzenleyin. İşte bir örnek:
#nav a, #nav a:visited {display:block;}#nav a:hover, #nav a:active {background:url(images/tab-right.jpg) no-repeat 100% 1px;float:left;}#nav a span {float:left;display:block;}#nav a:hover span {float:left;display:block;background: url(images/tab-left.jpg) no-repeat 0 1px;}
2. Şimdi de header.php dosyasını düzenlemenin zamanı geldi. Aşağıdaki kodlardan birini ihtiyacınıza göre seçerek kopyalayın. Sayfalarınızı listelemek için: