Daha önce bir e-ticaret veya üyelik web sitesinde oturum açtıysanız, oturum açtıktan sonra web sitesine özel bir sayfaya yönlendirildiğinizi fark etmiş olabilirsiniz. Bunun nedeni, bazı web yöneticilerinin kullanıcılarını web sitesinde oturum açtıktan sonra yönlendirmeyi seçmesidir. İlk başta garip gelse de WordPress 3.0’da kullanıma sunulan bu özellik oldukça kullanışlı ve sürekli popülerlik kazanıyor.
Bu yazıda, oturum açtıktan sonra kullanıcıları yönlendirmek için WordPress’in nasıl kullanılacağını ve bunu neden yapmanız gerektiğini inceleyeceğiz. Oturum açma yeniden yönlendirmenin kullanıldığı durumları dikkatlice inceleyerek, sizi bu özelliğin kullanışlılığına ikna etmeyi ve kendiniz denemeniz için size ilham vermeyi umuyoruz. Bunu söyledikten sonra devam edelim.
WordPress’te oturum açtıktan sonra kullanıcıları yönlendirme nedenleri
Bir WordPress web sitesinde oturum açtıktan sonra, kullanıcılar varsayılan olarak yönetici panosuna yönlendirilir. Fakat kullanıcı oturum açtıktan sonra özel yönlendirmeleri kullanmak isteyebileceğiniz birçok durum vardır. Bu durum elbette belirli bir kullanıcıya, onun kullanıcı rolüne veya sitenizle ilgili diğer bazı faktörlere bağlıdır. Bu durumlardan bazılarını ve kullanıcıları yönlendirme nedenlerini keşfedelim.
Oturum açtıktan sonra WordPress yönlendirmesinin en belirgin nedeni, özellikle ilk kez oturum açıyorlarsa, web sitesindeki kullanıcı deneyimini kolaylaştırmaktır. Web sitenizin çok sayıda abonesi veya müşterisi varsa, önce WordPress panosuna erişmelerine izin vermek ayrılabilir bir sonraki adımlarının ne olması gerektiği konusunda hiçbir fikirleri yok. Bunun yerine, örneğin müşterileri bir mağaza sayfasına ve aboneleri bir duyuru sayfasına yönlendirmek daha iyi olacaktır.
Ek olarak oturum açtıktan sonra bazı kullanıcılarınızı premium veya üyelere özel içeriğinize yönlendirmeyi seçebilirsiniz. Bu özellik, çeşitli nişlerdeki web siteleri için. Fakat özellikle üyelik toplulukları veya eğitim web siteleri için kullanışlıdır. Hatta verilen kullanıcı rolüne ve hatta belirli bir kullanıcıya bağlı olarak premium içeriğinize farklı erişim katmanları bile oluşturabilirsiniz.
Son olarak yalnızca bir avuç yetkili kullanıcının mevcut içeriğinizi düzenlemesine izin vermek için oturum açtıktan sonra WordPress yönlendirmesini kullanabilirsiniz. Aynı zamanda, bu, herhangi bir diğer yetkisiz kullanıcı için içerik düzenlemeye izin vermeyecektir. Bunun yerine, bu tür tüm kullanıcılar, kullanıcı rollerine ve yeteneklerine göre alternatif pano sayfalarına yönlendirilir. Bu durum örneğin web sitelerini listelemek için özellikle kullanışlıdır.
Giriş yaptıktan sonra yönlendirmelerin yanı sıra, WordPress’te çeşitli başka yönlendirme türleri uygulayabilirsiniz. Web sitesinden çıkış yaparken yapılan yönlendirmeler gibi bazılarından bahsedeceğiz. Fakat oturum açtıktan sonraki yönlendirmelere odaklanacağız.
WordPress’te oturum açtıktan sonra kullanıcıları nasıl yönlendiririm?
WordPress web sitenize ekleyebileceğiniz çoğu yeni özellikte olduğu gibi, kullanıcıları yeniden yönlendirme eklentilerin kullanımıyla veya özel kodla gerçekleştirilebilir. Hangi temayı kullandığınıza bağlı olarak giriş yaptıktan sonra kullanıcı yönlendirmesinin temaya dahil edilebileceğini belirtmekte fayda var. Bu yüzden sizi eklentiler veya özel kodlar gibi ek yöntemler kullanmaktan kurtarabileceğinden, öncelikle temanızın sunduğu özellikleri keşfetmeniz iyi bir fikirdir.
Eklenti kullanma
WordPress eklentileri, web sitelerine yeni bir özellik eklemek isteyen çoğu WordPress kullanıcısı için başvurulacak bir çözümdür. Çok sayıda eklenti sayesinde, hemen hemen her amaç için uygun (ücretsiz veya premium) bir tane mutlaka bulacaksınız. Bu yüzden önce bizim de yaptığımız WordPress eklenti deposuna göz atmanızı öneririz.
Giriş yaptıktan sonra WordPress yönlendirmesini etkinleştiren bulduğumuz eklentilerden biri Peter’s Login Redirect eklentisidir. Hem oturum açtıktan hem de oturumu kapattıktan sonra yönlendirmeleri uygulamanıza olanak tanır. Eklenti seçeneklerini kullanarak etkinleştirme adımları aynı olduğundan, her ikisini de ele alacağız. Yönlendirmeleri yalnızca bir kullanıcı oturum açtıktan sonra etkinleştirmek istiyorsanız, uygun oturum kapatma URL’lerini boş bırakmanız yeterlidir.
Başlamak için önce eklentiyi kurmanız gerekecek. Daha sonra yönlendirme kurallarını yönetmek için tüm seçenekleri bulacağınız Ayarlar > Giriş/çıkış yönlendirmeleri’ne gidin.
Bahsettiğimiz gibi, bu eklenti, bir kullanıcının web sitesinde oturum açtıktan veya oturumu kapattıktan sonra eriştiği URL’leri ayarlama seçeneği sunar. Belirli kullanıcılar, kullanıcı rolleri veya seviyeleri ve bir kullanıcının sahip olabileceği ayrıcalıklar için ayarlar vardır. Kullanıcıların web sitenize kayıt olduktan sonra erişecekleri URL’leri veya belirli koşullara uyan kullanıcılar için URL’leri de belirleyebilirsiniz.
Ek olarak bu eklenti özel yönlendirme kurallarını destekler. Özel kurallar uygulamak isteyen WordPress kullanıcıları, eklentinin resmi sayfasındaki Nasıl genişletilir bölümünü dikkatlice incelemelidir. Aşağıdaki paragraflarda, bu seçeneklerin nasıl kullanılacağını ele alacağız.
Bir kullanıcının oturum açtıktan veya oturumu kapattıktan sonra yönlendirileceği belirli bir URL atamak istiyorsanız, bunu Belirli kullanıcılar adı verilen ilk bölümden yapabilirsiniz. Mevcut açılır menüyü kullanarak, yönlendirme URL’lerini belirtmek istediğiniz kullanıcıyı seçin. Ardından oturum açtıktan sonra URL’yi URL alanına manuel olarak girin. Daha sonra isterseniz Logout URL alanına çıkış sonrası URL’sini ekleyebilirsiniz. İşiniz bittiğinde, aşağıdaki Kullanıcı adı kuralı ekle düğmesini tıklayın.
Kısa bir süre sonra bir başarı mesajı alacaksınız ve eklediğiniz yönlendirme kuralı bölümün üst kısmında gösterilecektir. Gerekirse daha fazla düzenleyebilir veya silebilirsiniz.
Aynı adımları izleyerek yeni kurallar eklemeye de devam edebilirsiniz.
Benzer şekilde, belirli kullanıcılar yerine çeşitli kullanıcı rolleri için oturum açtıktan sonra ve oturumu kapattıktan sonra URL’lerle ilgili kurallar eklemek isterseniz, bunu Belirli roller bölümünde yapmalısınız. Eklenti, varsayılan kullanıcı rollerinin yanı sıra diğer eklentiler veya temalar tarafından eklenen tüm özel rolleri destekler.
Belirli bir kullanıcı rolüne dayalı yeni bir kural eklemek için kullanılabilir kullanıcı rolleri açılır listesinden kullanıcı rolünü seçin. Ardından uygun URL’leri girin ve aşağıdaki Rol kuralı ekle düğmesine basın.
Kısa bir süre sonra seçenek kaydedilecek ve o bölümün üst kısmında gösterilecektir. Daha önce olduğu gibi size bu kuralı düzenleme veya silme seçeneği sunulur. Aynı talimatları izleyerek belirli kullanıcı rolleri hakkında yeni kurallar da ekleyebilirsiniz.
Kullanıcının izin düzeyleriyle ilgili kurallar uygulamak istiyorsanız, bunu Belirli düzeyler bölümünde yapabilirsiniz. Her kullanıcı rolü için manuel olarak bir kural oluşturmanın aksine, bu kuralları, özel yeteneği olan kullanıcılar için URL’ler ayarlamak veya belirli kullanıcı rol grupları için URL’ler ayarlamak için kullanabilirsiniz. Bu seçeneğin kullanımı, belirli kullanıcı rolü seçeneğine benzer ve genellikle birlikte kullanılırlar.
Kullanıcı izin düzeyleri için bir kural eklemek üzere açılır listeden izin düzeyini seçin, uygun URL’leri ekleyin ve aşağıdaki Düzey kuralı ekle düğmesine basın. Sıra alanını doldurmayı atladık. Fakat dilerseniz bir değer girebilirsiniz—sipariş alanı 0’dan başlayan sayıları kabul eder. Sırayı girmek, verilen kuralın yerleştirildiğinde gösterileceği konumu belirlemenizi sağlar. mevcut kullanıcı izin düzeyi kurallarının listesi.
Seviye kuralı ekle düğmesine bastıktan kısa bir süre sonra kural kaydedilecektir. Diğerlerinde olduğu gibi, bu kuralı ekledikten sonra düzenlemeyi, silmeyi veya yukarıda verilen talimatları izleyerek yeni kurallar oluşturmayı seçebilirsiniz.
Şimdi, Kayıt Sonrası bölümüne hızlıca bir göz atalım. Genellikle web yöneticileri, kullanıcılarını bir Hoş Geldiniz veya Teşekkür ederiz sayfasına giriş yaptıktan sonra yönlendirmeyi veya çeşitli ürün veya hizmetler sunan bir açılış sayfasına göndermeyi tercih eder. Bir siteye kaydolmak, genellikle kullanıcılara daha fazla teşvik sağlamak için küçük bir indirimle birlikte verilir.
Kayıt sonrası yönlendirme kuralı eklemek için Kayıt Sonrası bölümüne gidin, yönlendirme URL’sini ekleyin ve aşağıdaki Güncelle düğmesine basın.
Önceki bölüm ayarlarından farklı olarak buradaki URL, Güncelle düğmesine bastıktan sonra bu seçeneğe bağlı kalacaktır. Kayıt sonrası URL’yi düzenlemek veya silmek isterseniz, bunu sırasıyla Güncelle ve Sil düğmelerini kullanarak yapabilirsiniz.
Son olarak Tüm diğer kullanıcılar bölümünde bulunan seçeneği kullanarak, daha önce uygulanan kuralların hiçbirinin kapsamına girmeyen kullanıcıları belirli bir sayfaya yönlendirmeyi seçebilirsiniz. Oturum açtıktan sonra ve/veya oturumu kapattıktan sonra URL’yi eklemeniz ve Güncelle düğmesine basmanız yeterlidir.
Kendisinden önceki seçenek gibi, URL’ler Güncelle düğmesine basıldıktan sonra kaydedilecektir. Bunları daha sonra düzenlemek isterseniz, bunu Güncelle veya Sil düğmesini kullanarak yapabilirsiniz.
Özel kod kullanma
Oturum açtıktan sonra WordPress yönlendirmeleri eklemenin başka bir yolu, bunu özel kod kullanarak yapmaktır. Lütfen bu yöntemin daha deneyimli WordPress kullanıcılarına veya sitelerine başka bir WordPress eklentisi eklemek istemeyenlere yönelik olduğunu unutmayın.
Fakat özel kod kullanmanın yararı, yönlendirmeleri tam olarak istediğiniz gibi uygulayabilmenizdir. Hatta ayarlamak istediğiniz yönlendirmelere bağlı olarak bu oldukça hızlı ve kolay bir şekilde yapılabilir. Nasıl olduğunu açıklayalım.
Bu yazı için örnek olarak aşağıdaki kodu oluşturduk.
function custom_login_redirect( $redirect_to, $request, $user ) { if ( isset( $user->roles ) && is_array( $user->roles ) ) { if ( in_array( 'administrator', $user->roles ) || in_array( 'editor', $user->roles ) || in_array( 'author', $user->roles ) ) { $redirect_to = admin_url(); } else if ( in_array( 'customer', $user->roles ) || in_array( 'shop_manager', $user->roles ) ) { $redirect_to = home_url( '/shop' ); } else { $redirect_to = home_url(); } } return $redirect_to; } add_filter( 'login_redirect', 'custom_login_redirect', 10, 3 );
Bu kod, login_redirect filtre kancasına “bağlanmış”, custom_login_redirect adlı bir işlevi temsil eder. Amacı, çeşitli kullanıcı rolleri için oturum açtıktan sonra erişilen varsayılan URL’yi değiştirmektir. Öncelikle, oturum açmış kullanıcının ayarlanmış bir kullanıcı rolü olup olmadığını ve rolün bir dizi olup olmadığını kontrol ediyoruz. Kodun ana kısmı yalnızca her iki kontrolü de geçtikten sonra işlenir. Aksi takdirde, orijinal $redirect_to URL’si döndürülür, yani hiçbir özel yönlendirme yapılmaz.
function my_login_redirect( $redirect_to, $request, $user ) { if ( isset( $user->roles ) && is_array( $user->roles ) ) { // Main part of the code goes here } return $redirect_to; } add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );
Ana kod bölümünde ayrıca yapılan birkaç kontrol vardır. İlk olarak giriş yapan kullanıcı bir yönetici, editör veya yazar ise, her zamanki gibi WordPress kontrol paneline yönlendirilecektir. Aksi takdirde, oturum açan kullanıcı bir müşteri veya mağaza yöneticisi ise, Mağaza sayfasına, yani web sitenizin-url’si/mağaza sayfasına yönlendirilecektir.
Lütfen müşterilerin ve mağaza yöneticilerinin WooCommerce eklentisi tarafından oluşturulan iki kullanıcı rolü olduğunu unutmayın. Bu yüzden web sitenizde WooCommerce kurulu değilse, kodun bu kısmı yürütülmeyecektir. Fakat eklentiye sahipseniz, web sitenizde bir Mağaza sayfasının bulunduğundan emin olun. Hatta kodu, mağazadan başka bir şeyse, sayfanızın bilgisini yansıtacak şekilde ayarlamanız gerektiğini lütfen unutmayın. Son olarak önceki iki koşulun kapsamına girmeyen tüm kullanıcılar (kullanıcı rolü yönetici, editör, yazar, müşteri veya mağaza müdürü olmayanlar) ana sayfaya yönlendirilecektir.
if ( in_array( 'administrator', $user->roles ) || in_array( 'editor', $user->roles ) || in_array( 'author', $user->roles ) ) { // Admins, editors and authors are redirected to the WordPress dashboard $redirect_to = admin_url(); } else if ( in_array( 'customer', $user->roles ) || in_array( 'shop_manager', $user->roles ) ) { // Customers and shop managers are redirected to the Shop page $redirect_to = home_url( '/shop' ); } else { // Everybody else is redirected to the homepage $redirect_to = home_url(); }
Gördüğünüz gibi, bu oldukça basit bir kod parçasıdır. Ne işe yaradığını anladıktan sonra, beğeninize sunduğumuz örneği daha da geliştirebilir veya düzenleyebilirsiniz.
Kodu ihtiyaçlarınıza göre ayarlamayı bitirdikten sonra, onu temanızın functions.php dosyasına veya siteye özel bir eklentinin içine ekleyebilirsiniz. Daha hızlı ve daha basit olduğu için size ilkini nasıl yapacağınızı göstereceğiz.
Fakat devam etmeden önce, her ihtimale karşı web sitenizin bir yedeğini almanızı öneririz. Hatta gerekirse, sen…