Wordpress template_redirect kullanimi!

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;

1 Yorum

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

This site uses Akismet to reduce spam. Learn how your comment data is processed.