WordPress add_action() Nedir? - Wolinka

WordPress add_action() Nedir?


add_action() fonksiyonu, kısaca WordPress’te belli bir olay olduğunda otomatik olarak kendi kodunu çalıştırmanı sağlar. Yani sitenin belli anlarında, senin fonksiyonunu devreye sokacak “durak noktaları” gibi çalışır.
Bunu, sahneye çıkmak için sırasını bekleyen bir oyuncu gibi düşünebilirsin: perde açıldığında, tam doğru anda senin fonksiyonun da devreye girer. Örneğin yazı kaydedildiğinde, admin paneli yüklendiğinde veya tema başlığı çağrıldığında, senin yazdığın kod da bu sürecin parçası olur.

Kısaca:

“WordPress, bu noktaya geldiğinde bana haber ver, ben de kendi kodumu çalıştırayım.” demesidir.

Temel Kullanımı

add_action( $hook_name, $callback, $priority, $accepted_args );

Parametreler:

  1. $hook_name (zorunlu)
    Hangi olaya bağlanacağını belirtir. (örn: save_post, wp_head, init)
  2. $callback (zorunlu)
    O olay tetiklendiğinde çalışacak fonksiyonun adı.
  3. $priority (opsiyonel)
    Fonksiyonun çalışacağı sıra.
    Küçük sayı = önce çalışır. Varsayılan: 10.
  4. $accepted_args (opsiyonel)
    Bağladığın fonksiyonun kaç adet parametre alacağını belirtir. Örneğin save_post gibi bazı hook’lar birden fazla bilgi (ID, post nesnesi, güncelleme bilgisi vb.) gönderir. Bu değeri, fonksiyonunun kaç tanesini kullanacağını belirlemek için ayarlarsın.
    Varsayılan: 1.

Proje Akışına Katacağı Artılar

  • Kod yapısı daha modüler hale gelir, böylece bakım ve geliştirme daha kolay olur.
  • Tekrar eden işlemler otomatikleşir, zamandan tasarruf sağlanır.
  • Projeye sonradan eklenecek özellikler için hazır bağlantı noktaları oluşur.
  • Farklı geliştiricilerin aynı proje üzerinde rahatça çalışabileceği bir altyapı sunar.
  • Hem ön yüz (frontend) hem de arka plandaki (backend) iş akışları üzerinde daha fazla kontrol sağlar.

Kısaca, add_action() ile sadece kod yazmış olmazsın; projene uzun vadede nefes aldıracak bir yapı kurmuş olursun.

Canlı Senaryo Örnekleri

Yazı Kaydedildiğinde Ek İşlem Yapmak

function wlnk_my_save_post( $post_ID, $post, $update ) {
    // Örneğin log kaydı tutalım
    error_log( "Post ID {$post_ID} kaydedildi. Güncelleme mi? " . ($update ? 'Evet' : 'Hayır') );
}

// save_post olayı tetiklendiğinde çalıştırır.
add_action( 'save_post', 'wlnk_my_save_post', 10, 3 );

Burada:

  • save_post → WordPress’in bir yazı (veya sayfa) kaydedildiğinde tetiklenen olayıdır. Bu olay, hem yeni bir içerik oluşturulduğunda hem de mevcut bir içerik güncellendiğinde çalışır. Genellikle içerik kaydedildiği anda ek işlemler yapmak için kullanılır; örneğin log tutmak, özel alanları güncellemek veya otomatik e-posta göndermek gibi…
  • wlnk_my_save_post → Bizim fonksiyonumuz
  • 10 → Öncelik
  • 3 → Fonksiyonumuzun kabul ettiği parametre sayısı

Site Başlığına Ek Kod Eklemek

function wlnk_custom_head_code() {
    echo '<!-- Bu kod wp_head ile eklendi -->';
}
add_action( 'wp_head', 'wlnk_custom_head_code' );

Bu örnekte wp_head hook’u ile HTML <head> kısmına kendi küçük dokunuşlarımızı ekleyebiliyoruz. wp_head hook’u, temanın <head> etiketi kapanmadan hemen önce devreye girer. Bu sayede meta etiketler, CSS/JS dosyaları ya da ufak açıklama notları gibi istediğin her şeyi kolayca ekleyebiliriz. Kısacası, sitenin <head> kısmına kendi imzanı atabileceğin, ziyaretçine “buraya senin için özel bir şey ekledim” diyebileceğin en doğru yerdir.

Admin Paneline Özel CSS Eklemek

function wlnk_admin_custom_styles() {
    echo '<style> #adminmenu { background: #222; } </style>';
}
add_action( 'admin_head', 'wlnk_admin_custom_styles' );

admin_head hook’u, admin paneli <head> kısmına müdahale etmeyi sağlar.
Bu örnek ile basit bir arka plan rengi değişikliği yapılabilir.

Kullanıcı Giriş Yaptığında Mesaj Göstermek

function wlnk_show_login_message() {
    echo '<div style="background:#e0ffe0; padding:10px;">Tekrar hoş geldiniz!</div>';
}
add_action( 'wp_login', 'wlnk_show_login_message' );

wp_login hook’u, kullanıcı giriş yaptığında tetiklenir.
Bu sayede özel mesajlar, yönlendirmeler veya kayıt işlemleri yapılabilir.

Uygulama Önerileri

  1. Prefix kullanımı: Fonksiyon adlarında kendi projenin kısa adını önde kullanmak (wlnk_) olası çakışmaları önler.
  2. Anlamlı isimler: Fonksiyon ve hook isimleri ne yaptığını açıkça belirtirse, kod okunabilirliği artar.
  3. Parametreleri bilmek: Bağlandığın hook’un kaç parametre gönderdiğini WordPress dokümantasyonundan kontrol etmek faydalı olur.
  4. Öncelik değerini bilinçli kullanmak: Birden fazla fonksiyon aynı hook’a bağlandığında çalıştırma sırası öncelik değeri ile belirlenir.
  5. Kodun etkisini izole etmek: Sadece gerekli olduğunda çalışacak şekilde koşullarla desteklemek, performansı artırır.

add_action() ile Yapılabilecekler

  • İçerik kaydedildiğinde otomatik olarak etiket eklenebilir.
  • Ziyaretçinin tarayıcı bilgileri loglanabilir.
  • Özel CSS veya JavaScript kodları eklenebilir.
  • Admin panelinde ek menü oluşturulabilir.
  • WooCommerce sipariş sürecinde ek adımlar çalıştırılabilir.

Sonuç

add_action(), WordPress’te “olay tabanlı” çalışma mantığının kalbinde duran küçük ama etkili bir sihirdir. Sitenin belirli anlarında, kendi kodunu devreye sokmana izin vererek, tamamen kendi imzanı atmanı sağlar.

Küçük bir fonksiyonla başlayan bu macera, zamanla kendi tarzını yansıtan güçlü eklentilere ve temalara dönüşebilir.

Bu konuyu daha sağlam bir zemine oturtmak için önce WordPress Hook Nedir? yazısına göz atabilirsin.
Eğer “kendi olayını tanımlayıp tetiklemek” fikri ilgini çekiyorsa, bunun kardeşi sayılan do_action() Nedir? yazısını da okuyabilirsin.

Aklına bir şey takılırsa da çekinmeden yaz — birlikte WordPress’in tüm esnekliğini keşfedebiliriz. https://wolinka.com.tr/iletisim/

Sevgiler 🫶

Eğer Faydalı Bulduysan, Devamı Burada

Eğer bu içerik sana fayda sağlıyorsa daha fazlası için abone olabilirsin. Zorlayıcı teklif yok, spam yok. Sadece işini büyütmene yardımcı olacak içten ipuçları. ✨

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir