Varolan bir fonksiyonu ya da aksiyonu genişletmek için kullanılan filtre fonksiyonudur add_filter
. Bir önceki fonksiyon tanımı yazımda yazmış olduğum örnekten de görebileceğiniz gibi çalışır. WordPress Codex sayfası olan şu sayfada kullanımı için şu örnek verilmiştir.
add_filter kullanımı;
Codex sayfasında anlatılan kullanım şu şekildedir;
<?php add_filter( $tag, $function_to_add, $priority, $accepted_args ); ?>
Kod içindeki tanımlar da şunları açıklar;
$tag
: Genişletilecek (filtre uygulanacak) varolan fonksiyon$function_to_add
: Filtre olarak uygulancak fonksiyonumuz$priority
: Filtre uygulanırken gözlenecek öncelik -sayısal değerdir- (boş bırakılırsa 10 değeri işlenir)$accepted_args
: Kısa Kod (Shortcode) gibi alanlarda ve fonksiyonun kullanabileceği ekstra değerleri tanımlamak için kullanılır
add_filter kullanımı için örnek;
Daha önce bu fonksiyonu sizinle paylaştım sanırım ama yazılara bakacak kadar enerjim yok şu an. Aşağıda görebileceğiniz fonksiyonda, yazıya ve yorum alanındaki yorumlara twitter kullanıcı adı (misal @serkanalgur) eklediğinizde bunu otomatik olarak linkleyen bir kod var. Bunu yazıya ve yorum alanındaki yorumlara ekletebilmek için the_content
ve comment_text
alanına filtre uygulamamız gerekmekte. Bunu da add_filter
fonksiyonunu kullanarak yapıyoruz. Keza yukarıda parantez içinde benim kullanıcı adım linklenmiş durumda :)
functions.php
dosyasında kullanılması gerekmektedir. Bu dosya temanızın en önemli dosyası olduğundan lütfen işlem yapmadan önce yedek alınız. Bu dosya yol olarak wp-content/themes/temanızın-adı/ yolunda bulunur.function twtreplace($content) { $twtreplace = preg_replace('/([^a-zA-Z0-9-_&])@([0-9a-zA-Z_]+)/',"$1<a href=\"http://twitter.com/$2\" target=\"_blank\" rel=\"nofollow\">@$2</a>",$content); return $twtreplace; } add_filter('the_content', 'twtreplace'); add_filter('comment_text', 'twtreplace');
Bu örnekteki kodu temanızın functions.php
dosyası içerisine ekleyebilirsiniz.
Bir sonraki yazının arasını çok tutmayacağım, söz :)
Selametle