WordPress'te Oturum Açmamışsa Kullanıcı Nasıl Yönlendirilir » Sayfa Yönlendirme

Yayınlanan: 2022-01-02

WordPress'te Oturum Açılmadıysa Nasıl Yönlendirilir Son 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:

  1. 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.
  2. 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
  3. Yönetici başlatma kancasına takılan bir eylem kancası oluşturunadmin_init , örneğin add_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.
  4. Geri arama fonksiyonunu yukarıda bahsettiğimiz gibi oluşturun ve buna göre kodu ekleyin.
  5. 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:

WordPress'te Oturum Açılmadıysa Nasıl Yönlendirilir

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