22 Haziran 2009

Aktif Kancayı Tespit Etme

WordPress Yorum Ekle

WordPress eklentisi yazarken kancaları sıklıkla kullanırız. Bazen farklı kancalara aynı fonksiyonu takabiliyoruz. Ama fonksiyon içerisinde kancalara özel bir işlem yapmamız gerektiğinde hangi kancanın fonksiyonu çağırdığını bilemeyiz, ancak bunu tespit etmenin bir yolu var.
Diyelim ki aşağıdaki gibi bir fonksiyonumuz var ve iki kancaya da bunu taktık. İki kanca işlemeye başladığında, ikisinde de fonksiyonumuz çağırılacaktır.

  1. add_filter('wp_title', 'myplugin_sanitize');
  2. add_filter('the_content', 'myplugin_sanitize');
  3.  
  4. function myplugin_sanitize($content) {
  5.     $content = strip_tags($content);
  6.     return $content;
  7. }

Ama the_content kancası için farklı birşeyler daha yapmak istiyorsak, hangi kancanın fonksiyonu çağırdığını bilmemiz gerekiyor. İşte bunun için current_filter() fonksiyonunu kullanacağız.

  1. add_filter('wp_title', 'myplugin_sanitize');
  2. add_filter('the_content', 'myplugin_sanitize');
  3.  
  4. function myplugin_sanitize($content) {
  5.     $content = strip_tags($content);
  6.  
  7.     if( 'the_content' == current_filter() )
  8.         $content = wpautop($content);
  9.  
  10.     return $content;
  11. }

Kaynak


Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=902.

Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.