WordPress kancası, WordPress çekirdeğindeki dosyayı değiştirmeden bir prosedürü değiştirmenize izin veren bir özelliktir. Bir kanca hem harekete (eylem kancası) hem de filtreye (filtre kancası) uygulanabilir.

Kancaları öğrenmek herhangi bir WP kullanıcısı için önemlidir. Bazı işlevler oluşturmanıza veya tema veya eklentilerin varsayılan ayarlarını düzenlemenize yardımcı olabilir .

  • Kancaların Amacı
  • WordPress Kancaları Nasıl Kullanılır?
    • Bir Eylem Kancası Oluşturma
    • Filtre Kancası Oluşturma
    • Kancaların Çözülmesi Eylemleri ve Filtreleri
  • Pratik Örnekler
    • admin_post_thumbnail_size
    • after_password_reset
    • customize_loaded_components

Kancaların Amacı

Kancaların temel amacı bir işlevi otomatik olarak çalıştırmaktır. Ayrıca, bu teknik bir tema veya eklentinin işlevselliğini değiştirme, genişletme veya sınırlama yeteneğine de sahiptir.

WordPress’te bir kanca örneği:

  1. işlev mytheme_enqueue_script ( )
  2. { wp_enqueue_script ( ‘my-custom-js’ , ‘custom.js’ , yanlış ) ; }
  3. add_action ( ‘wp_enqueue_scripts’ , ‘mytheme_enqueue_script’ ) ;

Yukarıdaki örnek, kancanın mytheme_enqueue_script işlevini wp_enqueue_scripts eylemine bağlamak için oluşturulduğunu gösterir . Bu kanca sitenizde yeni bir eylemi tetikler, bu nedenle buna eylem kancası denir.

Kancalar genellikle bir uygulamanın eklenti bileşenlerinin yapımında kullanılır. Yalnızca WordPress gibi içerik yönetim sistemlerinde (CMS) değil, aynı zamanda bir kuruluş içindeki e-ticaret ve intranet sitelerinde de yaygın olarak kullanılır .

Ayrıca, yukarıda belirttiğimiz gibi, kancalar iki kategoriye ayrılır: eylem ve filtre. İşlem kancası bir işlem eklemek için kullanılırken, filtre kancası bir işlemin değerini değiştirmek veya değiştirmek için kullanılır.

WordPress Kancaları Nasıl Kullanılır?

WordPress’te kanca kullanmak, HTML ve PHP hakkında biraz bilgi gerektirir . Ancak, tam bir başlangıç ​​olsanız bile, hem eylem hem de filtre kancaları oluşturmak düşündüğünüz kadar zor olmayabilir.

Yalnızca gönderi sayfanıza gitmeniz ve ardından metin düzenleyicisine geçmeniz gerekir. Orada olduğunuzda, başka sitelerden kopyaladığınız veya kendi oluşturduğunuz kancaları yapıştırabilirsiniz.

Bir Eylem Kancası Oluşturma

Bir eylem kancası eklemek için , WordPress eklentisinde add_action () işlevini etkinleştirmeniz gerekir . Bu işlev, function.php dosyanıza aşağıdaki kalıpları yazarak etkinleştirilebilir:

  1. ADD_ACTION ( ‘target_hook fonksiyonu adı’ , ‘The_name_of_function_you_want_to_use’ , ‘priority_scale’ )

Yukarıda gördüğümüz gibi, kancalar düzgün çalışması için öncelik ölçeğini kullanır. Bu ölçek, 1’den 999’a kadar bir ölçeğe dayanan otomatik bir sıra değeridir. Söz konusu kanca ile ilişkili işlevler için sipariş önceliğini tanımlar.

Daha düşük bir öncelik değeri, işlevin daha erken çalıştırılacağı anlamına gelirken, daha yüksek bir öncelik daha sonra çalıştırılacağı anlamına gelir. Ölçek, aynı target_hooks kullanılırken kurulu fonksiyonların çıkış sırasını gösterecektir .

Varsayılan değeri priority_scale Sen sayısına göre ölçek sağlayabilir 10’dur target_hooks .

Bir eylem kancası örneği:

  1. <? Php
  2. add_action ( ‘wp_print_footer_scripts’ , ‘hostinger_custom_footer_scripts’ ) ;
  3. işlev webhost_custom_footer_scripts ( ) {
  4. ?>
  5. <script > // altbilgi scriptlerini buraya doldurun </script>
  6. <? Php
  7. }
  8. ?>

Yukarıdaki örnekte bulunan desene dikkat edin:

  • <? php  kanca işlevini koymak yerdir
  • add_action  , eylem kancasını oluşturma komutudur
  • wp_print_footer_scripts  olan target_hook yeni işleve bağlantı vermesini
  • Hostinger_custom_footer_scripts , target_hook’a kurulan ve bağlanan işlevdir
  • <script> target_hook’ta göstermek istediğiniz metni temsil eder (bu durumda wp_print_footer_scripts )

Filtre Kancası Oluşturma

Apply_filters () işlevini kullanarak bir filtre kancası oluşturabilirsiniz . Kanca filtresi, bir değeri yenisiyle değiştirmek, filtrelemek veya değiştirmek için kullanılır.

Tıpkı bir eylem kancasını kullanmak gibi, bir değeri ilişkili filtre kancası işlevleriyle ( uygula_filtre ) filtreleyen bir işleve de sahiptir .

Dahası, başka bir işlevle ( add_filter ) ilişkilendirilecek bir kanca filtresi ekleme işlevine sahiptir .

Bir filtre kancası örneği:

  1. $ puan = 100 ;
  2. echo “Şu anki puan:” . Apply_filters ( ‘change_score’ , $ puan ) ;
  • $ skor = 100  ilk skor değeridir
  • echo “ Current score is: ” gösterdiğiniz komut dosyasını temsil eder
  • Apply_filters  bir filtre kancası oluşturma komutudur
  • ‘change_score’ , $ puanı  filtrelenecek işlevdir

Bu filtre:

  1. add_filter ( ‘change_score’ , ‘function_change_score’ ) ;
  2. function function_change_score ( $ puan ) {
  3. ? $ skor + = 100 ;
  4. ? $ puanı;
  5. }
  •  Filtre kancasını yeni bir fonksiyona bağlamak için Add_filter oluşturuldu
  • Change_score ‘ değiştirilecek hedef kanca
  • Function_change_score ‘, başlangıç ​​değerini etkileyecek yeni bir işlevdir
  • ? $ skor + = 100;  başlangıç ​​değerine ( $ skor ) daha fazla değer katan koddur
  • ? $ puanı;  sonunda yeni değeri gösteren koddur

Sonuç şöyle görünmelidir:

  1. Güncel Puan: 200

Kancaların Çözülmesi Eylemleri ve Filtreleri

WordPress kodunuzdaki add_action () veya add_filter () komutunu devre dışı bırakmak istiyorsanız,  remove_action () ve remove_filter () kullanabilirsiniz .

Bu kodlar temel olarak belirli eylemleri veya filtre işlevlerini hariç tutmanın bir yoludur. Sitenizin optimizasyonunu bozabilecek çok fazla gereksiz kancaya sahip bir eklentiyi değiştirmenize olanak tanır.

Şu anda bunu sorabilirsiniz; “Neden sadece bu gereksiz kodları silmiyorsunuz?”

Kendi kodlarınızı kullanırsanız kesinlikle uygun bir seçenektir.

Ancak, WordPress’te genellikle başkalarının eklentileri veya temalarıyla çalışırsınız. Bu, yanlış satırları silerseniz önemli bir hata yapma riskiniz olduğu anlamına gelir.

WordPress’teki remove_action () örneği:

  1. remove_action ( ‘wp_print_footer_scripts’ , ‘hostinger_custom_footer_scripts’ , 11 ) ;
  2. add_action ( ‘wp_print_footer_scripts’ , ‘hostinger_custom_footer_scripts_theme’ , 11 ) ;
  3. işlev hostinger_custom_footer_scripts_theme ( )
  4. {
  5. ?>
  6. <script > // temaya göre çıktı örneği </script>
  7. <? Php
  8. }

Yukarıdaki örnek, remove_action öğesinin, varsayılan WordPress altbilgi komut dosyalarını silmek için kullanıldığını ve bunun yerine Hostinger özel altbilgi komut dosyaları temasıyla değiştirildiğini göstermektedir.

Bu komut, WordPress’teki her türlü eylem kancasına uygulanabilir.

Ayrıca, remove_filter için bir örnek:

  1. remove_filter ( ‘wp_mail’ , ‘wp_staticize_emoji_for_email’ ) ;
  2. add_filter ( ‘tiny_mce_plugins’ , ‘devre dışı_emojis_tinymce’ ) ;
  3. }

Yukarıdaki örnek, emojiyi statik görüntülere dönüştüren wp_staticize_emoji_for_email’in nasıl devre dışı bırakılacağını gösterir .

Daha sonra bunları WordPress’teki emoji özelliğini devre dışı bırakacak olan obs_jijis_tinymce ile değiştirir (ek bir HTTP isteği yaptığı için emojinin siteyi yavaşlattığı bilinmektedir).

Ayrıca, sırayla birden çok filtreyi devre dışı bırakmak için remove_filtercommand komutunu da kullanabilirsiniz . İşte bir örnek:

  1. fonksiyon disable_emojis ( ) {
  2. remove_action ( ‘wp_head’ , ‘print_emoji_detection_script’ , 7 ) ;
  3. remove_action ( ‘admin_print_scripts’ , ‘print_emoji_detection_script’ ) ;
  4. remove_action ( ‘wp_print_styles’ , ‘print_emoji_styles’ ) ;
  5. remove_action ( ‘admin_print_styles’ , ‘print_emoji_styles’ ) ;
  6. remove_filter ( ‘the_content_feed’ , ‘wp_staticize_emoji’ ) ;
  7. remove_filter ( ‘comment_text_rss’ , ‘wp_staticize_emoji’ ) ;
  8. remove_filter ( ‘wp_mail’ , ‘wp_staticize_emoji_for_email’ ) ;
  9. add_filter ( ‘tiny_mce_plugins’ , ‘devre dışı_emojis_tinymce’ ) ;
  10. add_action ( ‘init’ , ‘enable_emojis’ ) ;
  11. }

Yukarıdaki kod, WordPress’te emoji işlevini tamamen ortadan kaldırmayı amaçlamaktadır. Açıkça kaç hiçbir sınırı olduğunu göstermektedir remove_filter sen yerleştirebileceğiniz komutlar functions.php .

Pratik Örnekler

Daha önce de belirttiğimiz gibi, özel bir WordPress işlevi oluşturmak için kullanabileceğiniz birçok kanca vardır. Bunlardan bazıları:

admin_post_thumbnail_size

Bu filtre kancası, ‘Öne Çıkan Resim’de yayınınızın küçük resim görüntüsünü gösterir. İşlevlerle bağlantılı üç parametre vardır: $ size, $ thumbnail_id ve $ post .

Kanca şöyle görünmelidir:

  1. $ size = Apply_filters ( ‘admin_post_thumbnail_size’ , $ size, $ thumbnail_id, $ post ) ;

Unutmayın $ boyut parametresi ihtiyaca göre değiştirilebilir. Örneğin, küçük resim boyutunu 240 x 240 piksel olarak ayarlamak istiyorsanız, bu kodu yazabilirsiniz:

  1. $ size = Apply_filters ( ‘admin_post_thumbnail_size’ , 240 , $ thumbnail_id, $ post ) ;

Array () işlevi ekleyerek küçük resminiz için özel bir boyut da ayarlayabilirsiniz. Kod şöyle görünecektir:

  1. $ size = Apply_filters ( ‘admin_post_thumbnail_size’ , dizi ( 240 , 400 ) , $ thumbnail_id, $ post ) ;

Yukarıdaki array () işlevi, küçük resminizi 240 x 400 piksel olarak görüntülenecek şekilde ayarlar. Sayfanıza mükemmel uyan en iyi boyutu bulmalısınız.

after_password_reset

Bu eylem kancası, kullanıcı parolasını sıfırladığında etkinleştirilir. Kanca iki parametreden oluşur; $ user ve $ new_pass.

Kanca şöyle görünmelidir:

  1. do_action ( ‘after_password_reset’ , $ kullanıcı, $ new_pass ) ;

customize_loaded_components

Bu kanca, bazı WordPress bileşenlerini çekirdek işleminden hariç tutmak için bir filtre görevi görür. Bu işlevler olduğu gibi çekirdek dosyaları, ilgili çalışma WP-activate.php , WP-yapılandırma-sample.php veya WP-settings.php . Bileşen, WordPress’te widget’ta belirli bir işlevi temsil eden bir özellik koleksiyonudur.

Ancak, o notta önemlidir customize_loaded_components sadece ‘sırasında aktive edildiğinden bir temada eklenemez eklentileri yüklü ‘ faza.

Kanca iki parametreden oluşur: $ bileşenleri ve $ this. Bu şekilde yazılmalıdır:

  1. $ components = camera_filters ( ‘ özel_yüklenen_ bileşenler ‘ , dizi ( ‘widget’lar’ , ‘nav_menus’ ) , $ this ) ;

$ Parçaları $ bu, mevcut sınıfta nesneye işaret ederken, yüke temel fonksiyonların bir parti olan parametresi.

 Hariç tutulacak bileşenleri belirlemek için array () işlevini özelleştirebilirsiniz . Yukarıdaki örnek, widget’ların ve nav_menus’un çekirdek işlemden hariç tutulan bileşenler olduğunu göstermektedir.

Sonuç

Hepsini özetlemek gerekirse, kancalar WordPress sitenizin varsayılan yapılandırmasını değiştiren özelliklerdir. Çekirdek dosyayı değiştirmeden özel işlevler eklemenizi veya işlemleri devre dışı bırakmanızı sağlar.

Kancalar iki kategoriye ayrılabilir: eylem ve filtre.

Bu ikisini kullanma yöntemleri neredeyse aynı olmasına rağmen, her ikisinin de tamamen farklı işlevleri vardır.

Eylem kanca yeni işlevler oluşturmak için kullanılırken, filtre kancası function.php dosyasındaki mevcut kodu değiştirmek için kullanılır.

Ayrıca, WordPress’e yerleştirebileceğiniz tonlarca kanca var. İşlevleri istediğiniz gibi değiştirmek için çeşitli kanca tiplerini kullanmayı deneyin.

Yetkin olduğunuzda, bu özellik ile kendi eklentilerinizi bile oluşturabilirsiniz . İyi şanslar!