İçeriğe geç

WordPress Özel PHP Dosyaları için URL Yönlendirmesi

 

WordPress tabanlı projeler üzerinde çalışırken sık sık standart tema dosyaları hariç özel PHP dosyaları oluşturup bunlara belirlediğimiz URL ile erişmek isteriz. Bu yazımda sizlere bunun nasıl yapıldığını anlatacağım.

İlk olarak sitede görüntülemek istediğimiz PHP dosyasını oluşturalım. Aşağıdaki içeriğe sahip dosyayı kullandığınız tema dizinine deneme.php olarak kaydediyoruz.

Şimdi sıra geldi bu dosyayı /deneme URL’sine yönlendirmeye.  Öncelikle bu yöntemle ekleyeceğimiz sayfaların bilgisini ekleyeceğimiz $_GET parametresi ile URL içersinde tutacağız. Bu parametreyi WordPress sorgularına ekleyebilmemiz için query_vars filtresinden yararlanacağız. Aşağıdaki kodları temamızın functions.php dosyasına ekliyoruz.

Keyfi belirlediğimiz /deneme URL’sini eklediğimiz view parametresine yönlendiriyoruz. Bunun için de neredeyse her zaman birlikte kullanılan add_rewrite_tag ve add_rewrite_rule fonksiyonlarından yararlanacağız. Aşağıdaki kodları temamızın functions.php dosyasına ekliyoruz.

Yönlendirmeyi de yaptığımıza göre son aşama olarak view parametresini kontrol edip eğer deneme değişkenine eşitse deneme.php dosyasını çağıracak kodu yazıyoruz. Bunun için WordPress’ten önce bu değişkeni kontrol edip dosyayı çağırmamız gerekir aksi halde WordPress 404 sayfasına yönlendirecektir. template_redirect isimli hook tam da bu iş için hazırlanmıştır.

Yine bu kodları da temamızın functions.php dosyasına ekliyoruz.

Wordpress yönlendirmeleri önbellekte tutar. Yaptığımız yönlendirmenin geçerli olması için eski önbelleği temizlememiz gerekiyor. Bunu en basit olarak Yönetim paneli > Ayarlar > Kalıcı Bağlantılar menüsüne gidip bir şeyi değiştirmeden Değişiklikleri Kaydet’e basarak yapabilirsiniz. Bunu da yaptığımıza göre İşlem tamam!

Gelin test edelim.

 

 

 

 

Gördüğünüz gibi sorunsuz çalışıyor. Bu yöntemden faydalanarak yapabileceğiniz sayısız uygulama var. Her türlü sorularını yorum olarak iletebilirsiniz.

İyi çalışmalar 🙂

Tarih:Wordpress

İlk Yorumu Siz Yapın

    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir