WordPress’i hızlandırmak için bazı değişken değerlerini direkt tanımlamak

Tema ve eklentilerimizde yer alam bazı değişkenleri en baştan tanımlayarak databaseden sorgulama yapmadan direkt olarak girdiğimiz değerlerin kabul edilmelerini sağlayabiliriz. Böylelikle sunucuya giden isteklerin bir kısmı azalmış olur ve wordpress bir miktar rahatlar. Örnek olarak aşağıdaki değerleri wp-config.php dosyasına girebiliriz;

define('WP_HOME', 'http://hakkiceylan.com');
define('WP_SITEURL', 'http://hakkiceylan.com');
define('TEMPLATEPATH', 'http://hakkiceylan.com/wp-content/themes/hc-2012');
define('STYLESHEETPATH', 'http://hakkiceylan.com/wp-content/themes/hc-2012');

WordPress güncellemelerinde ve eklenti kurulumlarında ftp bilgilerini sormasın

Bazı hostinglerin vrsayılan ayarları nedeniyle her wordpress güncellemesinde ya da eklenti kurulum veya silme işlemleri sırasında bizden ftp bilgilerini ister. Bunu otomatik hale getirmek için wp-config.php dosyasının içerisine aşağıdaki kodları eklememiz gerekir;

define("FTP_HOST", "ftp.example.com");
define("FTP_USER", "user");
define("FTP_PASS", "password");

WordPress’te farklı kategoriler için farklı single.php’ler

WordPress’te farklı kategorilerde bulunan yazılar için farklı tekil sayfa şablonları (single.php) kullanabiliriz. Bunun için öncelikle aşağıdaki kodu ya da uyarlayacağınız kodu single.php dosyası olarak kaydediyoruz. Sonrasında ise kodda yazılı olan ayrı şablonları oluşturuyoruz;

<!--?php $post = $wp_query--->post;
if (in_category('3')) {include(TEMPLATEPATH.'/haberler.php');}
elseif (in_category('5')) {include(TEMPLATEPATH.'/fotograflar.php');}
elseif (in_category('9')) {include(TEMPLATEPATH.'/videolar.php');}
else { include(TEMPLATEPATH . '/diger.php'); } ?> //

Türkçe karakterleri değiştirmek

Belirli bir değişkende yer alan Türkçe ğ,ü,ş,ı,ö,ç gibi karakterleri g,u,s,i,o,c olarak değiştirebilmek için aşağıdaki kodu kullanabilirsiniz;

function newtrk($bsey) {
    $trk = array('ğ', 'ü', 'ş', 'ö', 'ç', 'Ğ', 'Ü', 'Ş', 'İ', 'Ö', 'Ç');
    $trkyeni = array('g', 'u', 's', 'o', 'c', 'G', 'U', 'S', 'I', 'O', 'C');
    $bsey = str_replace($trk, $trkyeni, $bsey);
    return iconv('UTF-8', 'US-ASCII//TRANSLIT', $str);
}

Hotlink koruması

Sayfanızdaki resim vb. öğelerin sizin sunucunuzu kullanarak başka sitelerde gösterilmesini engellemek için, web sitenizin root dizinindeki .htaccess dosyasına aşağıdaki kodlar eklenir; Burada hotlink adında bir klasör ve bunun içerisinde orjinal resmin yerine gösterilecek fake resimler mevcuttur.

# Hotlink Korumasi
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/hotlink
RewriteRule ^.*$ - [L]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?hakkiceylan\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?azgezmis\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?friendfeed\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?twitter\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(.+\.)?twitter\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?facebook\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(.+\.)?facebook\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.com\.tr [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?haber\.gen\.tr [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?live\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yahoo\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yahoo\.com\.tr [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|JPG|JPEG|GIF|PNG|BMP)$ http://www.hakkiceylan.com/hotlink/0.$1 [L]
</IfModule>
# Hotlink Korumasi

WordPress tema dosyalarına manual shortcode eklemek

Bazı pluginlerin yazı içerisinde kullanmamıza izin verdiği shortcode’ ları manual olarak temanın herhangi bir yerinde göstermek istediğimizde aşağıdaki kodu kullanabiliriz.

  <?php echo do_shortcode( $content ) ?> 

Örneğin;

 <?php echo do_shortcode( "[AFG_gallery id='2']" ); ?>

Değişik bir yöntem olarak aşağıdaki kod kullanılabilir;

<?php  $content = apply_filters('the_content', '<!--subscribe2-->'); echo $content; ?>

WordPress, aramalarında ve RSS beslemelerinde bazı kategorileri hariç tutmak

Sitenizde beslemelerde ya da aramalarda bazı kategorilerdeki yazıları göstermek istemiyorsanız, aşağıdaki kodları temanızın Tema fonksiyonları (functions.php) dosyasına uygun şekilde ekleyin.

function ExcludeCategory($query) {
  if ($query->is_feed) {
	$query->;set('cat','-25,-45');
	//RSS beslemelerinde 25. ve 45. kategorileri hariç tut
  }
  if ($query->is_search)  {
	$query->set('cat','-10,-15');
	//Aramalarda 10. ve 15. kategorileri hariç tut
  }
return $query;
}
add_filter('pre_get_posts','ExcludeCategory');