WordPress'te Oturum Açmamışsa Kullanıcı Nasıl Yönlendirilir » Sayfa Yönlendirme
Yayınlanan: 2022-01-02Son gönderide, kullanıcının WordPress'te oturum açıp açmadığını nasıl kontrol edeceğimi gösterdim. WordPress kullanıcısının oturum açıp açmadığını kontrol etmek isteyebileceğiniz yaygın bir neden, WordPress kullanıcısının oturum açma durumuna göre farklı sayfalar göstermektir. Eğer WordPress'te oturum açmamışsanız kullanıcıları yönlendirmek istiyorsanız, bu hızlı eğitimde göreceğiniz gibi function.php dosyanıza bir kod parçacığı ekleyerek bunu başarabilirsiniz.
Kullanıcıları WordPress'te neden yönlendirmelisiniz?
Kullanıcıları yeniden yönlendirmek çoğu WordPress sitesi için önemli bir gereksinimdir. Kullanıcıları bir sayfadan diğerine yönlendirmek isteyebileceğiniz farklı zamanlar olabilir. Örneğin, ödeme yaptıktan sonra WooCommerce kullanıcılarını yeniden yönlendirebilir veya kayıttan veya web sitesine yeniden yönlendirme girişinden sonra kullanıcıyı yeniden yönlendirebilirsiniz.
WordPress'te oturum açılmadıysa yeniden yönlendirmek en yaygın yönlendirmelerden biridir. WordPress'te yeniden yönlendirmeyi yönetmeye yardımcı olabilecek eklentiler olsa da, bu sorunu çözen küçük bir pasaj eklemek, üçüncü taraf bir eklentiye güvenmekten daha iyi bir çözümdür.
Bu eğitimde, seçtiğiniz bir sayfada oturum açmamış kullanıcılar için yönlendirme oluşturan temanıza veya eklentinize bir snippet'in nasıl ekleneceğini göstereceğim.
WordPress'te Oturum Açılmadıysa Yönlendirme Adımları
WordPress'te oturum açmadıysanız yönlendirmeyi uygulamak için aşağıdaki adımları izlemelisiniz:
- WordPress sitenize giriş yapın ve ana pano menüsündeki görünüm menüsünün altındaki tema düzenleyiciye gidin.
- Etkin WordPress temasının functions.php dosyasını açın . Aktif tema function.php dosyasına erişmek için CPanel veya FTP'yi de kullanabilirsiniz. Bu yolda bulunur -
wp-root-installation/wp-content/themes/active-theme/functions.php - Yönetici başlatma kancasına takılan bir eylem kancası oluşturun –
admin_init
, örneğinadd_action('init', 'redirect_if_not_logged_in')
. Bu kanca, kullanıcının WordPress'te oturum açıp açmadığını ve oturum açmadıysa istediğimiz sayfaya yönlendirilip yönlendirilmediğini kontrol etme mantığına sahip olacak bir geri çağırma işlevine sahiptir. - Geri arama fonksiyonunu yukarıda bahsettiğimiz gibi oluşturun ve buna göre kodu ekleyin.
- Değişiklikleri kaydedin ve oturum açmamış kullanıcıların koda eklediğiniz sayfaya yönlendirilip yönlendirilmediğini test etmek için ön uca gidin.
Kullanıcı WordPress'te oturum açmadıysa, yeniden yönlendirmeyi nasıl ekleyebileceğinizi gösterelim. Localhost kurulumunda varsayılan WordPress temasını kullanacağım, ancak bu, tema ve barındırma ortamından bağımsız olarak diğer tüm siteler için işe yarayabilir.
Yönlendirme eklenecek kod, çoğu durumda oturum açmamış kullanıcılardan gelen içeriği kısıtlamak istediğinizde, iki koşulu kontrol etmeniz gibi başka bir koşul da alabilir:
- Kullanıcı oturum açtıysa
- Kullanıcı, kısıtlanmış içeriğe sahip olduğunuz sayfadaysa
Bu koşullar sağlandığında, kullanıcıyı istediğiniz sayfaya yönlendirmek için wp_redirect() işlevini kullanmalısınız.
WP İşlevi: wp_redirect()
Bu, temalarda ve eklentilerde kullanıcıları yönlendirmek için kullanılabilen bir WordPress yeniden yönlendirme işlevidir. Bu fonksiyonun genel ifadesi aşağıdaki gibidir:
wp_redirect( string $location, int $status = 302, string $x_redirect_by = 'WordPress' )
Gördüğünüz gibi, fonksiyonun aşağıdaki gibi üç parametresi vardır:
Parametre | Açıklama |
$location | Bu, kullanıcıyı yönlendirmek istediğiniz URL'dir. Kullanıcı oturum açmadığında bu işlevi kullandığınızda, kod örneğinde göreceğiniz gibi kullanıcıyı yönlendireceğimiz sayfanın URL'sini sağlamanız gerekir. |
$status | Bu isteğe bağlı bir parametredir ve sık kullanıldığını görmeyebilirsiniz, ancak kullanılacak HTTP yanıtı durum kodudur. Varsayılan '302' ve kalıcı bir yönlendirme için 301'i kullanabilirsiniz. Bu parametreyi 301 yönlendirme seçeneği ile kullanırken dikkatli olun. |
$x_redirect_by | Bu, yalnızca yeniden yönlendirmeyi uygulayan uygulamadır ve bu, WordPress olan varsayılan değeri nadiren değiştirir. |
Kullanıcı oturum açmadıysa, Şablon Yeniden Yönlendirme Eylemi
WordPress'te oturum açmamış kullanıcıyı yeniden yönlendirmek için, kullanıcı aşağıdaki gibi oturum açmışsa koşullu kontrolle wp_redirect işlevini kullanabilirsiniz:
add_action( 'template_redirect', 'redirect_if_user_not_logged_in'); function redirect_if_user_not_logged_in() { if ( is_page('slug || ID') && ! is_user_logged_in() ) { //örnek is_page(23) olabilir, burada 23 sayfa kimliğidir wp_redirect('http://yönlendirme-sayfanız-burası'); çıkış;// wp_redirect() için çıkış / ölüme sahip olması çok önemli olduğundan bu çıkışı asla unutmayın } }
Koşullu denetimi ilgili sayfanızla değiştirin ve ayrıca yukarıdaki koddaki yönlendirme URL'sini değiştirin ve oturum açmamış kullanıcıları o sayfa URL'sine yönlendirmek için onu function.php'ye ekleyin.
Kullanıcı Oturum Açmadıysa Yönetici Yeniden Yönlendirme Eylemini Başlat
Alternatif olarak, WordPress'te oturum açmamışsa kullanıcıyı yeniden yönlendirmek için template_redirect
yerine admin_init
.
Eylem kancasını ekleme noktası dışında kod aynı olmalıdır. Kod aşağıdaki gibi olmalıdır:
add_action('admin_init', 'redirect_if_user_not_logged_in'); function redirect_if_user_not_logged_in() { if ( !is_user_logged_in() && is_page('slug') ) { wp_redirect('http://yönlendirme-sayfanız-burası'); çıkış; } }
Bu kodu varsayılan WordPress teması function.php'ye eklediğimizde ve yönlendirmeyi oluşturmak istediğimiz sayfa için slug'ı ve hedefin URL'sini eklediğimizde, gördüğünüz gibi mükemmel çalışıyor:
Son düşünceler
Kullanıcı WordPress'te oturum açmadıysa yeniden yönlendirme oluşturmak istediğinizde, önce kullanıcının o gönderide paylaştığım kodu kullanarak oturum açıp açmadığını kontrol etmeniz, ardından wp_redirect() işlevini kullanarak kullanıcıların yapması gereken yeni hedefi eklemeniz gerekir. belirli bir sayfaya veya gönderiye erişirlerse yönlendirilirler.
Bu kod, temanızın function.php dosyasına eklenebilir veya özel WordPress eklentinizin bir parçası olarak kullanabilirsiniz. Her zaman hatırlamak önemlidir, wp_redirect işlevini kullandığınızda, bu işlev otomatik olarak çıkmadığından çıkışı eklemeyi ASLA unutmamalısınız.
Bir WordPress eklentisi geliştiricisi olarak, $location parametresine izin verilip verilmediğini kontrol ettiğinden yeniden yönlendirme için daha iyi bir yol sağlayan başka bir WordPress yeniden yönlendirme eklentisi wp_safe_redirect() düşünebilirsiniz.
Benzer Makaleler
- WooCommerce'de İncelemeler Nasıl Kaldırılır veya Devre Dışı Bırakılır
- WordPress'te Eklentinin Etkin Olup Olmadığı Nasıl Kontrol Edilir [ 3 YOL ]
- Adım Adım WordPress'te Özel Widget Alanı Nasıl Oluşturulur
- WooCommerce'de Bir Ürün Nasıl Gizlenir veya Ürünleri Kategoriye veya Rollere Göre Gizlenir
- WooCommerce'de Mağazaya Dönüş Bağlantısı Nasıl Değiştirilir
- WordPress Özel Kullanıcı Rolleri Nasıl Oluşturulur
- WordPress ve Görüntü Rolleri'nde Mevcut Kullanıcı Rolü Nasıl Alınır
- Yakalanmayan Tip Hatası Nasıl Onarılır: wp.template bir işlev değil
- Örneklerle WordPress Özel Kancaları do_action ve application_filters Kullanma Kılavuzu
- Bir Eklenti Kullanmadan WordPress'te Başarılı Giriş Yaptıktan Sonra Kullanıcılar Nasıl Yönlendirilir
- WooCommerce Onaysız Oturumu Kapatma : “Oturumu kapatmak istediğinizden emin misiniz?” Nasıl Kaldırılır?
- WooCommerce'de Giriş Yaptıktan Sonra Sepete Nasıl Yönlendirilirsiniz?
- WooCommerce Çıkış Düğmesi Oluşturmak için PHP Snippet'i
- Eklenti için WooCommerce Yönetici Bildirimi Nasıl Oluşturulur – WooCommerce Geliştirme
- Nasıl Kaldırılır Sepetinize Eklendi Mesajı WooCommerce
- WooCommerce'de Fiyattan Sonra Metin Nasıl Eklenir » Fiyat Soneki Ekle
- WooCommerce'de Ödemeye Devam Et Metni Nasıl Değiştirilir