
WordPress de bir islem yaparken yada bir istekde bulunurken ayri bir sorgu alani olusturabilirsiniz. Ornegin adres satirinizda /?kuaza=123 terimi geciyorsa belirleyeceginiz fonksiyona yonlendirme yaparak, icerisindeki kodlarin calismasini saglayabilirsiniz.
Ben bu fonksiyonu genelde query_vars ile kullaniyorum. Ajax ile sorgu yapacagim zaman belirledigim get kodunu ve icerigini alarak islem yaptiriyorum.
Bu fonksiyonu aciklamak zor ama bir kere benimsediginizde bir cok uygulamanizda cansimidi oldugunu goreceksiniz :)
Kullanimi basit: Anlayabilmeniz icin net bir ornek veriyorum
/* * WordPress template_redirect kullanimi * https://makaleci.com * Versiyon: Ornek v0.1 */ function kuaza_yeni_anasayfa() { if( is_home() ) { echo "Burasi ana sayfamiz :)"; exit(); } } add_action( 'template_redirect', 'kuaza_yeni_anasayfa' );
Yukaridaki fonksiyonu eklentinizde yada tema dosyasindaki function.php de kullanirsaniz, ana sayfayi actiginizda karsiniza direk: “Burasi ana sayfamiz :)” yazisi cikacak. Burda verdigim ornektir, siz bunu farkli amaclar icin kullanabilirsiniz. Ornegin adres satirina bir deger ekleyerek o deger acilmaya calisildiginda fonksiyonumuzu calistirabiliriz:
/** * https://makaleci.com */ function kuaza_get_ekle($vars) { $vars[] = 'kuaza_ornek_get'; return $vars; } add_filter('query_vars','kuaza_get_ekle'); /* * WordPress template_redirect kullanimi * https://makaleci.com * Versiyon: Ornek v0.1 */ function kuaza_yeni_anasayfa() { if( get_query_var('kuaza_ornek_get') == "i_love_you_kuaza" ) { echo "Burasi kuaza_ornek_get degerine gore islem yaptiracagimiz alan. :) Get icerigi: ".get_query_var('kuaza_ornek_get'); exit(); } } add_action( 'template_redirect', 'kuaza_yeni_anasayfa' );
Yukardaki kodlari uygulamaniza ekleyin ve sitenizi bu sekilde acmaya calisin: http://siteniz.com/?kuaza_ornek_get=i_love_you_kuaza
Ne cikti karsiniza ? :) bende oyle tahmin etmistim.
[dropcap]!![/dropcap]
Bu konuda bahsi gecen template_redirect fonksiyonunu kullanirken islemlerin sonunda exit; bitiricisini eklemeyi unutmayin, aksi durumda fonksiyonunuz calisir, ancak site normal sekilde acilmaya devam edecek ve arayuzunuz yuklenecektir.
Ve artik makalemin sonundayim….
exit;
Arkadaslar konudaki kodlari test etmedim, kafadan yazdim cogu kismini ama genel itibari ile calisacaktir.