İçeriğe geç

WordPress Ajax Kullanımı

WordPress teması yada eklentisi geliştirirken ajax istekleri için WordPress Ajax hooklarını kullanabiliriz. Aşağıda örnek bir WordPress Ajax hook kullanımı sunuyorum.

Öncelikle temamızın yada eklentimizin javascript kodlarına ajax isteği yapacak bir fonksiyon hazırlayalım. Bu fonksiyon ile ajax request gerçekleştirip, response alarak işlemlerimize devam etmemizi sağlayacak.

WordPress istekleri varsayılan olarak ajaxurl javascript değişkeninde yer alan adrese yapılır. Bu değişkeni global scope’da göremiyorsanız, değişkeni kendiniz tanımlayabilirsiniz.

Örneğin basit olması için basit bir ajax işlemi gerçekleştiren javascript kodlarımı yazıyorum.

action index’li elemanda ajax isteği sonucunda çalıştırılması istenen fonksiyon adı verilir. Bu parametre verilmediği taktirde ajax işlemlerimiz çalışmayacaktır.

Javascript kodlarımızı hazırladıktan sonra, response yapacak PHP kodlarımızı hazırlayalım.

add_action metodunda tanımlanan action ismine dikkat etmemiz gerekiyor. Çünkü bu alanda verdiğimiz ilk parametrede çalıştıracağımız fonksiyonun ismini ekliyoruz. Yani çalıştıracağımız fonksiyonun adı neyse, action alanının ilk parametresi şu şekilde olmalı wp_ajax_[fonksiyonun adı] ve wp_ajax_nopriv_[fonkisyonun adı].

Bu tanımlamaları yaptıktan sonra işlemlerimizi, fonksiyonun içinde gerçekleştirip json çıktı vermek için wp_send_json fonksiyonunu kullanabiliriz.

 

Kategori:PHP
  • Konuyu pek çözemeyenlere gayet açıklayıcı bir anlatım olmuş, teşekkürler.

  • Süleyman

    Aşağıdaki Ajax dosyası nasl geldi bilmiyorum ve php bilmem. Zamanınız olursa bana bu zararlı mı faydalı mı ya da ajax içeriğim ne işe yarıyor ? Robot.txt ye neden eklenmiş ? bu konularda bir yorum yazabilir misiniz ?

    • Enes Gür

      Eklediğiniz kodu yorumdan kaldırdım öncelikle.

      Bahsettiğiniz kodlar wordpress sistem kodlarınızdır. Bu kodlar sitenizdeki dinamik aksiyonların çalışmasına yardımcı olacak olan kodlardır bir zararı yoktur. AJAX teknolojisini internetten araştırarak daha kapsamlı bilgiye ulaşabilirsiniz.