Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Kupası
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Nedir: Filtre

Editoryal Not: WPBeginner üzerindeki ortak bağlantılardan komisyon kazanıyoruz. Komisyonlar, editörlerimizin görüşlerini veya değerlendirmelerini etkilemez. Editoryal Süreç hakkında daha fazla bilgi edinin.

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.

What Is Filter in WordPress?

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 ekler
  • remove_filter(): bu, belirtilen filtre kancasına bağlı bir işlevi kaldırır
  • doing_filter(): o anda yürütülmekte olan herhangi bir filtreyi tespit eder
  • has_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:

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.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Ultimate WordPress Araç Kiti

Araç setimize ÜCRETSİZ erişim sağlayın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!