WordPress kancaları hakkında bilmeniz gereken her şey

Yayınlanan: 2015-07-11

WordPress kancalarına mı takıldınız?

WordPress, web siteniz için gerekli bileşeni oluşturmaya çalışırken, kaputun altında çok şey oluyor. Her sayfa birkaç işlevden ve veritabanı sorgularından oluşur. WordPress çekirdeği ve teması, metin, resim, stil sayfası ve diğer dosyaların çıktısını almak için birlikte çalışır. Tarayıcı yardımıyla tüm bu parçalar yorumlanır ve tek bir web sayfasında bir araya getirilir. Kancalar, WordPress'i özelleştirme, genişletme ve geliştirme yeteneği verir.

Kancalar uygun şekilde adlandırılır, çünkü verileri almak, eklemek veya değiştirmek veya sahne arkasında diğer görevleri yapmak için kelimenin tam anlamıyla WordPress'e "bağlanabiliriz". Bir anlamda, özel kodumuzu bu kancalara "asıyoruz". Bildiğimiz gibi, WordPress çekirdeğini değiştirmek iyi bir fikir değil. Bu nedenle, WordPress'teki eylem kancaları ve filtre kancaları, var olanı değiştirmenin veya yeni işlevsellik oluşturmanın en iyi yoludur.

kanca türleri

Özelleştirmeler yaparken kancalar gerekli bir parçadır. İki ana kanca türü vardır: hareketli kancalar ve filtre kancaları. Her biri farklı bir şey sunar, bu nedenle hangisini ne zaman kullanacağınızı anlamak önemlidir.

Bir kanca öylece herhangi bir yere atılamaz; "bağlanacak" bir şey olmalı. Bu kanca için bu yürütme noktasına sahip olmak gereklidir. İyi haber şu ki, WordPress çekirdeği boyunca referans olarak kullanılabilen yerleşik kancalar var.

Dört acil durum ipi

Neden kanca kullanın

Kancalarla çok şey değiştirilebilir, çünkü WordPress'in temel işlevlerinin çoğu eylemler ve filtreler kullanır. Kancaları anlamak, WordPress ile geliştirme yapan herkes ve WordPress'i veya temanın davranışını değiştirmek isteyen tasarımcılar için kesinlikle gereklidir.

Eylem Kancaları

Eylem kancaları, olayların kendileriyle karıştırılmaması için bir şeyin olduğunu gösterir. Eylemler, WordPress'te gerçekleşen belirli olaylar tarafından tetiklenir. Bir olaya örnek olarak bir gönderi yayınlamak, temaları değiştirmek veya bir eklentiyi etkinleştirmek gibi şeyler verilebilir. Eylemler, sayfanın işlenmesinde belirli bir noktada ekstra işlevsellik eklemenize olanak tanır. Eylem kancaları şunları yapabilir:

  • WordPress veritabanındaki verileri değiştirin
  • Tarayıcıda görüntülenenleri değiştirin
  • Bir olay gerçekleştiğinde e-posta gönder
  • Sayfaya bir widget, menü veya özel mesaj ekleyin

wordpress-kanca-eylem

Eylem Kanca Örneği

add_action( $hook, $function_to_add, $priority, $accepted_args );

add_action işlevinin gerekli parametreleri, eklenecek kanca ve işlevdir. Önceliğin dahil edilmesi isteğe bağlıdır. 1'den 999'a kadar bir skalaya dayalı bir tamsayı değeriyle bu sayı, o belirli kanca için işlevlerin öncelik sırasını belirler. Buna ihtiyacınız olmayabilir, ancak son parametre birden fazla argümanı iletmeniz veya kabul etmeniz gerektiğinde kullanılır.

Temel bir eylem kancasına bir göz atalım:

// This is the function, name it accordingly

function custom_welcome_text() { ?>

<div class="optional-custom-class">Hello WordPress!</div>

<?php }

&nbsp;

// Action function that outputs the function above into the theme hook

add_action( 'welcome_hook', 'custom_welcome_text', 5 );

Bu temel kanca, sayfanın en üstüne “Merhaba WordPress” ekleyecektir. Önceliği 5'tir. Daha düşük sayılar daha önceki yürütmeye karşılık gelir. Varsayılan olarak 10'a ayarlanmıştır, bu nedenle bu örnek varsayılandan önce yürütülür.

Filtre Kancaları

Ortak bir senaryoyu ve filtre kancalarının nasıl devreye girdiğini gözden geçirelim. Kullanıcılarınızın sitenizi ziyaret ettiği ve okumaları için bir gönderi yüklendiği tüm zamanları düşünün. WordPress sayfa yaşam döngüsünün bir parçası olarak, WordPress bu gönderi için veritabanını sorgular, ardından kullanıcının okuması için hazır olarak tarayıcıya döndürülür. Her şey kulağa basit geliyor, ancak içerik sunulmadan önce WordPress, verileri oluşturulmuş herhangi bir filtreden geçirir. Bu filtre kancaları gerektiğinde kolayca oluşturulabilir.

Bunu şu şekilde düşünün: eylemler belirli olaylar tarafından tetiklenir, ancak filtreler, işlenirken verilerin ele geçirilmesine ve değiştirilmesine izin verir. Filtre kancaları, verileri tarayıcıda oluşturmadan veya tarayıcıdan veritabanına veri kaydetmeden önce engellemeniz, yönetmeniz veya verileri döndürmeniz gerektiğinde kullanılır. Örneğin, bir WordPress HTML öğesine başka bir CSS sınıfı eklemek veya ek meta alan türleri kaydetmek isteyebilirsiniz. Bunların her ikisi de bir filtre kancası ile yürütülebilir.

wordpress-kanca-filtre

WordPress sayfaları oluştururken filtreler veritabanı ve tarayıcı arasında oturur. Ayrıca, WordPress veritabanına yeni gönderiler ve yorumlar ekledikçe tarayıcı ve veritabanı arasında otururlar. Bu nedenle, filtre kancaları aşağıdaki gibi yararlı şeyler yapabilir:

  • Veritabanına veri ekleyin veya tarayıcı ekranına gönderin
  • Veritabanından çıkan verileri tarayıcıya girmeden önce veya tarayıcıdan gelen verileri veritabanına girmeden önce işleyin.

Filtre kancası örneği

Aşağıdaki örnekte, bir filtre kancasının içerik üzerinde nasıl çalıştığına bakacağız. Bu kanca, içerik kullanılmadan, veritabanına konulmadan veya WordPress tarafından ekranda görüntülenmek üzere işlenmeden hemen önce tetiklenir. Bu, filtre kancası ateşlendiğinde verileri değiştirir.

add_filter işlevi, bir filtreye bağlanmamız gereken şeydir. Argümanlar size tanıdık gelebilir, add_filter , add_action ile aynıdır. Şimdi herhangi bir gönderi içeriği görüntülenmeden önce çağrılan WordPress the_content filtresine bağlanalım. Bu basit örnekte, filtre her gönderiye bir telif hakkı notu eklememize izin verecek. Bu noktada, filtreler kendilerine iletilen veriler üzerinde işlem yapacaktır.

add_filter( 'the_content', 'add_copyright_notice' );

function add_copyright_notice( $content )

{

return $content . " <br>This content is copyrighted.";

}

Lütfen, bir filtre kullandığınızda, her zaman bir şey iade etmeniz gerektiğini unutmayın, aksi takdirde işler bozulur.

Bir temaya kanca ekleme

Temaya kancalar ve filtreler eklerken bir alt temada çalıştığınızdan emin olun. Bunun ana nedeni, ana temada çalışıyorsanız, tema dosyalarında bir güncelleme olması durumunda bu değişikliklerin üzerine yazılabilir.

Umarım kancaları, ne yapabileceklerini ve nasıl yardımcı olabileceklerini daha iyi anlamışsınızdır. Kancalar çok basit, çok karmaşık veya arada bir yerde olabilir. Temel kavramlara sahip olduğunuzda, hiçbir zaman bağımlı olmayacaksınız.