WordPress’in kancaları (hooks) bir WordPress geliştiricisinin alet çantasındaki en önemli aracı olarak sayılabilir. Tema ve eklenti geliştirmenin temelinde yer alan, düzgün kullanıldığında büyük kolaylıklar sağlayan kancalar ile işlerinizi kolaylaştırabilirsiniz. Yeri geldiğinde WordPress çekirdeğine bile kanca atarak projenize uygun değişiklikleri gerçekleştirebilirsiniz.
Eylem (actions) kancaları, tanımlanmış belirli anlarda/yerlerde kendi belirlediğiniz eylemleri yapabilmenize olanak sağlarken, filtreler (filters) uygulama içinde tanımlanmış olan değerleri değiştirebilmenize olanak sağlarlar. Eylem kancaları için kullanılan yordamlar çıktı üretirken, filtreler için kullanılan yordamlar değer döndürürler.
WordPress 3.0 ile beraber geliştiricilerin kullanımına sunulan, 3.4 ve 3.7’de yenilerinin de eklendiği bazı yardımcı yordamlar mevcut. , dönen değeri değiştirmek istediğiniz tekrar tekrar yordam yazmak yerine bu küçük, basit ama işlevsel yordamları kullanarak zaman kazanabilirsiniz;
__return_false() // WordPress 3.0 - false değeri döndürür
__return_true() // WordPress 3.0 - true değeri döndürür
__return_empty_array() // WordPress 3.0 - boş dizi döndürür: array() ya da []
__return_zero() // WordPress 3.0 - sıfır (0) değerini döndürür
__return_null() // WordPress 3.4 - NULL döndürür
__return_empty_string() // WordPress 3.7 - boş metin döndürür: ''
Code language: PHP (php)
Bu yordamlar, çeşitli filtrelere kancalar atarak filtreden dönecek değerleri kolayca değiştirebilmenize olanak sağlıyorlar. Bu konu anlatılırken en çok kullanılan örnek ile devam edelim. Diyelim ki sitenizde görüntülenen yönetici araç çubuğunu tüm kullanıcılar için kapatmak istiyorsunuz. Bunu show_admin_bar
filtresini kullanarak, çok basit bir şekilde sağlayabiliyoruz;
apply_filters( 'show_admin_bar', '__return_false' );
Code language: PHP (php)
Eğer yardımcı yordam elimizin altında olmasaydı false
değeri dönen bir yordam yazıp, yordam ismini ikinci parametre olarak vermemiz gerekecekti;
add_filter( 'show_admin_bar', 'ee_hide_admin_bar' );
function ee_hide_admin_bar() {
return false;
}
Code language: PHP (php)
Ya da, PHP 5.3 veya daha üzeri bir sürüm kullanıyorsanız bunu anonim bir yordam kullanarak, yine tek satırda halledebiliriz;
add_filter( 'show_admin_bar', function(){ return false; } );
Code language: PHP (php)
Görebileceğiniz gibi, iki yöntem de __return_false()
yordamını kullanmak kadar kolay değil. Kaldı ki projenizde benzer bir yordam gerektiğinde kod tekrarını azaltmak adına sizin de bu sonuca ulaşmanız çok olası.
Bu yordamların varlığını bilmek çok kereler işlerimi kolay ve hızlı bir şekilde tamamlamamı sağladı. Umarım sizlerin de işine yarar.
Teşekkürler, gerçekten daha iyi kodlama yapabilmek için harika bir ipucu olmuş.