WordPress geliştirmede, WordPress’in işlevselliğini değiştirmek veya genişletmek için bir filtre kullanılabilir. Bunu, WordPress tarafından sağlanan bazı verileri alarak, başka bir şeye dönüştürerek ve ardından geri aktararak yapar.
Filtreler WordPress’i özelleştirilebilir kılan en büyük özelliklerden biridir. Bunlar bir WordPress olayına ‘bağlanan’ PHP kodu parçalarıdır. Olay tetiklendiğinde, filtre olay kancası tarafından oluşturulan veri çıktısına uygulanacaktır.
Eklenti ve tema geliştiricileri tarafından yaygın olarak kullanılırlar. Ancak, bir geliştirici değilseniz, web sitenize yeni özellikler eklemek için web’den kod parçacıkları yapıştırabilirsiniz. Bunların çoğu filtre içerir.
WordPress’te Filtre Nedir?
Bir filtre, WordPress web sitenizdeki belirli bir işlevin varsayılan davranışını değiştirir. Bunu, aldığı verileri manipüle ederek ve ardından bu verileri tarayıcıda görüntülenmeden önce WordPress’e döndürerek yapar.
Örneğin, filtreler metni kesmek, içeriğin biçimlendirmesini değiştirmek, gönderilere bağlantılar eklemek, bir sayfadaki blokları değiştirmek ve veritabanından alınan seçenekleri değiştirmek için kullanılabilir. Ayrıca bir alıntının uzunluğunu değiştirebilir, ilgili gönderileri ana içeriğinizin altına yerleştirebilir veya WooCommerce’de bir fiyatı değiştirebilirler.
Filtreler add_filter()
fonksiyonu kullanılarak eklenir. WordPress’in eylemleri kullanmanıza izin veren çeşitli işlevleri vardır, ancak bunlar en yaygın kullanılanlardır:
add_filter()
: bu, bir işlevi bir kancaya eklerremove_filter()
: bu, belirtilen filtre kancasına bağlı bir işlevi kaldırırdoing_filter()
: o anda yürütülmekte olan herhangi bir filtreyi tespit ederhas_filter()
: bir filtrenin kaydedilip kaydedilmediğini kontrol eder
Filtreler, WordPress’e ekstra işlevsellik eklemek için eklenti ve tema geliştiricileri tarafından kullanılır. Çevrimiçi eğitimlerden kod parçacıkları ekleyerek temanızı özelleştirmek için filtreleri de kullanabilirsiniz.
Not: Yeni başlayan biriyseniz, herhangi bir WordPress dosyasını düzenlememenizi şiddetle tavsiye ederiz. Yalnızca functions.php dosyasını düzenleme konusunda kendini rahat hisseden ve biraz PHP bilgisi olan deneyimli kullanıcılar bunu denemelidir.
Yeni başlayanlar, gerçekleştirmek istedikleri görevi yerine getirmek için ya bir eklenti kullanmalı ya da kodu kendileri için düzenlemesi için bir profesyonele danışmalıdır.
WordPress sitenizdeki herhangi bir kodu düzenlemeden önce, bir kodlama hatası durumunda web sitenizi yedeklemenizi öneririz. Eğer bir yedekleme eklentiniz yoksa, en iyi WordPress yedekleme eklentilerini karşılaştırdığımız makalemizi mutlaka okuyun.
Ayrıca kodu doğrudan tema dosyalarına eklememenizi öneririz, aksi takdirde temayı bir sonraki güncellemenizde özelleştirmelerinizi kaybedersiniz.
Bunun yerine, WordPress’e özel kod eklemek için bir kod parçacıkları eklentisi kullanmalı, siteye özgü bir eklenti oluşturmalı veya bir alt tema oluşturmalı ve ana tema yerine bunu değiştirmelisiniz.
Özelleştirmeyi kaybetmeden bir WordPress temasının nasıl güncelleneceğine ilişkin kılavuzumuza bakın.
Kancalar, Eylemler ve Filtreler Arasındaki Fark Nedir?
WordPress’te filtreleri daha iyi anlamak için, diğer iki terim olan kancalar ve eylemlerle nasıl ilişkili olduklarını görmek yararlı olacaktır. Bu üç terimi birlikte anlamak, ‘filtre’ terimini kavramayı biraz daha kolaylaştıracaktır.
Kancalar WordPress eklenti ve tema geliştirmenin temelidir. Bunlar, geliştiricilerin özel kodlarını belirli konumlarda WordPress’e ‘bağlayabilecekleri’ ve çekirdek dosyaları düzenlemeden WordPress’in çalışma şeklini değiştirebilecekleri yerlerdir.
İki tür kanca vardır.
- Filtre kancaları bir şeyi değiştirmenize izin verir. İşlenmekte olan verileri durdurur ve değiştirmenize izin verir, ardından geri iletirler. Bir veritabanına veya kullanıcının tarayıcısına gönderildiğinde çıktıyı filtrelemek için kullanılırlar.
- Eylem kancaları bir şey yapmanıza izin verir. Ekstra işlevsellik eklemenize izin verirler ve bir tema veya eklenti etkinleştirildiğinde veya bir gönderi yayınlandığında olduğu gibi olaylar gerçekleştiğinde yürütülürler. Eylem gerçekleştirildikten sonra, herhangi bir bilgiyi geri iletmeleri gerekmez.
Bu eylem ve filtre kancaları WordPress çekirdeğinin, temalarının ve eklentilerinin çalışma şeklinin temelini oluşturur. Geliştiricilere varsayılan WordPress olaylarını, filtrelerini ve eylemlerini değiştirmede büyük esneklik sağlamak için birlikte çalışırlar.
Geliştiriciler ayrıca kendi özel eylemlerini ve filtrelerini oluşturabilir, böylece diğer geliştiriciler eklentilerini veya temalarını genişletebilir.
WordPress Filtrelerine Örnekler
Bir filtre neye benzer? İşte birkaç örnek.
Diyelim ki belirli bir kategoriye ait bir gönderi görüntülendiğinde bir resim simgesi görüntülemek istiyoruz. Bu senaryoda, bir gönderinin belirli bir kategoride olup olmadığını kontrol eden bir fonksiyon oluştururuz. Eğer öyleyse, resmi görüntüler.
Daha sonra, bu fonksiyonu the_content
olayına bağlarız. Artık the_content
olayı her gerçekleştiğinde, işlevimiz the_content
olayının çıktısını filtrelemek için otomatik olarak tetiklenir.
// First we hook our own function with the_content event
add_filter( 'the_content', 'wpb_content_filter' );
// Now we define what our function would do.
// In this example it displays an image if a post is in news category.
function wpb_content_filter( $content ) {
if ( in_category('news') )
$content = sprintf('<img class="news-icon" src="%s/images/news_icon.png" alt="News icon" title="" />%s', get_bloginfo( 'stylesheet_directory' ), $content);
// Returns the content.
return $content;
}
İşte bir WordPress filtresi kullanmanın başka bir örneği.
Bu örnek kod get_the_excerpt
filtresine bir wpb_custom_excerpt
işlevi ekler.
function wpb_custom_excerpt( $output ) {
if ( has_excerpt() && ! is_attachment() ) {
$output .= wpb_continue_reading_link();
}
return $output;
}
add_filter( 'get_the_excerpt', 'wpb_custom_excerpt' );
Filtreleri kullanan WordPress kılavuzlarımızı inceleyerek daha fazla bilgi edinebilirsiniz. Örneğin, burada WordPress filtrelerini kullanarak pratik bir şeyi nasıl elde edeceğinizi gösteren birkaç kılavuz bulunmaktadır:
- Giriş yapan kullanıcılara farklı menüler nasıl gösterilir
- Yöneticiler dahil tüm kullanıcılar için yönetici çubuğu nasıl devre dışı bırakılır
- WordPress eklentileri otomatik olarak nasıl güncellenir?
- WordPress’te giriş ipuçlarını devre dışı bırakma
- Otomatik güncellemelerle ilgili e-posta bildirimleri nasıl devre dışı bırakılır
WordPress, geliştiricilerin WordPress çekirdeği boyunca belirli noktalara kendi kodlarını eklemelerine olanak tanıyan birçok önceden tanımlanmış filtreye sahiptir. WordPress Eklenti API’si, kullanılabilen filtre kancalarının kapsamlı bir listesini sunar.
Umarız bu makale WordPress’teki filtreler hakkında daha fazla bilgi edinmenize yardımcı olmuştur. Yararlı WordPress ipuçları, püf noktaları ve fikirleriyle ilgili makaleler için aşağıdaki Ek Okuma listemize de göz atmak isteyebilirsiniz.
Bu kılavuzu beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olmayı düşünün. Bizi Twitter ve Facebook‘ta da bulabilirsiniz.