WordPress'te Kullanıcılar Nasıl Yönlendirilir
Yayınlanan: 2018-08-08Yönlendirmeler, web sitelerinin, eklentilerin ve temaların standart bir parçasıdır. Bazıları gözlerinizin önünde oluyor ve siz arkada neler olup bittiğinin farkında bile olmayabilirsiniz.
Yönlendirmeler genellikle geliştiricilere bırakılsa da, bu görevi kendi başınıza yapmanızı sağlayacak birkaç ipucu göstereceğiz.
Başarılı oturum açtıktan sonra belirli kullanıcı rolleri nasıl yönlendirilir?
Makalenin bu bölümünde, WordPress destekli web sitenize başarılı bir şekilde giriş yaptıktan sonra belirli bir kullanıcının nereye gittiğini kolayca değiştirebileceğiniz ve kontrol edebileceğiniz bir kod göstereceğiz.
Varsayılan olarak, WordPress her kullanıcıyı kontrol paneline götürür ve bu bazılarınız için sorun olabilir. Diğer kullanıcılarınızı doğrudan ana sayfanıza veya belki onlar için özel olarak oluşturduğunuz başka bir ön uç sayfasına yönlendirmek istediğinizde, yöneticilerinizi ve yazarlarınızı arka uçta tutmak isteyebilirsiniz.
Kullanıcıları rollerine göre yönlendirmek için sonraki adımları izleyin:
- Functions.php dosyasını açın
- Aşağıdaki kodu kopyalayıp yapıştırın:
function my_login_redirect( $url, $istek, $kullanıcı ){ if( $kullanıcı && is_object( $kullanıcı ) && is_a( $kullanıcı, 'WP_User' )) { if( $user->has_cap( 'yönetici') veya $user->has_cap( 'yazar')) { $url = admin_url(); } Başka { $url = home_url('/özel sayfa /'); } } $url'yi döndür; } add_filter('login_redirect', 'my_login_redirect', 10, 3 );
- Değişiklikleri Kaydet
Yukarıda gösterilen kod, yöneticileri tam da olmaları gereken yerde, yani yönetici paneli bırakırken, diğer tüm kullanıcılar özel bir sayfaya yönlendirilecektir.
Kolayca inci satırı 4 Nisan'da $ url değişkeni değişen ve 6 ile URL'leri değiştirmek ve bu nedenle onlar için oluşturduğunuz tüm mesajlar / sayfalara kullanıcıları neden olabilir.
Kullanıcı rollerini kontrol etmek istiyorsanız, bunu kodun üçüncü satırında kolayca yapabilirsiniz. Yukarıda verilen örnekte, yönetici panelinde yöneticiler ve yazarlar bıraktık. Orada yalnızca yöneticileri istiyorsanız, yazarları resimden kaldırmanız yeterlidir:
if( $user->has_cap( 'yönetici' )) {
Yazarları kaldırmak yerine başka roller de ekleyebilirsiniz; kimin hangi sayfada olacağına karar vermek size kalmış.
Bu kadar. Bu kodla, bir kullanıcı oturum açtıktan sonra yönlendirmeleri kontrol etmek için herhangi bir eklentiye ihtiyacınız yoktur. Kodu hala değiştirmiyorsanız, bir eklenti ile oturum açtıktan sonra kullanıcıları nasıl yeniden yönlendireceğinizi görün.
Peter's Login Redirect eklentisi ile oturum açtıktan sonra kullanıcıları yeniden yönlendirin
Giriş yaptıktan sonra size daha önce gösterdiğimiz bazı kodları yerleştirerek kullanıcıları hızlı bir şekilde yönlendirebilirsiniz, ancak bu, kodlamayla ilgilenmeyenler için en iyi seçenek değildir. Ayrıca, yönlendirmeler üzerinde daha fazla kontrol sahibi olmak istiyorsanız, kodu nasıl değiştireceğinizi bilmeniz gerekir.
Kodu değiştirmek yerine size kirli işleri sizin yerinize yapacak bir eklenti göstereceğiz . Tek yapmanız gereken hangi kullanıcının nereye gideceğine karar vermek, birkaç onay kutusuna tıklamak ve eklenti gerisini hallederken URL'leri yapıştırmak.

Aynı şeyi yapmak için tasarlanmış sayısız WordPress eklentisi olmasına rağmen, makalenin bu kısmı için Peter's Login Redirect'i seçtik.
Bu eklenti, adlarına, kullanıcı rollerine ve hatta kullanıcı yeteneklerine göre kullanıcıları seçmenize ve oturum açtıktan sonra bu kullanıcıların yönlendirileceği URL'yi yapıştırmanıza izin verir. Bu kullanıcıyı yeniden yönlendirmek istiyorsanız veya başka bir sayfa seçmek bile mümkündür. oturumu kapattıktan sonra bir grup kullanıcı. Ayrıca, herhangi bir kullanıcının kaydı sırasında hedef sayfa olarak kullanılacak ayrı bir URL seçebilirsiniz.
Bu sizin için yeterli değilse ve yönlendirmelerinizi daha da geliştirmek istiyorsanız, Peter's Login Redirect size yardımcı olur. Örneğin, her kullanıcı için belirli bir sayfa oluşturduysanız, URL'yi doğrudan eklentiden oluşturabilirsiniz. Bu durumda, eklentide açıklanan basit bir kısa kod, kullanıcının kullanıcı adını girmek ve böylece söz konusu kullanıcıyı kendi özel sayfasına yönlendirmek için yeterli olacaktır .
Sonunda, eklentinin davranışını daha fazla kontrol etmenize yardımcı olabilecek birkaç eklenti seçeneği bulunur. Eklentiyi yalnızca bir tür URL kullanacak ve örneğin yalnızca dahili bağlantıların kullanılmasına izin verecek şekilde ayarlayabilir, POST ve GET yönlendirmelerini kontrol edebilir, gerekirse harici bir yönlendirme dosyası kullanabilir ve izin düzeylerini seçerek bu eklentiyi kimin kontrol edebileceğini seçebilirsiniz. .
Oturum açma, oturum kapatma ve kayıt yönlendirmelerini yönetmeniz gerekiyorsa, Peter's Login Redirect ihtiyacınız olan her şeyi size sağlayacaktır. Oh, evet, eklentinin ücretsiz olduğundan bahsetmiş miydik? WordPress eklenti deposundan alabilir ve saniyeler içinde yükleyebilirsiniz, ardından tek yapmanız gereken Settings -> Login/Logout Redirects seçeneğine gitmek.
Oturumu kapattıktan sonra bir WordPress kullanıcısı nasıl yönlendirilir
Varsayılan olarak, bir kullanıcı bir WordPress web sitesinden çıkış yaptığında, giriş sayfasına geri götürülür. Bir kullanıcıyı başarılı çıkış hakkında bilgilendiren bir mesaj gösterilecek ve gezinmenin geri kalanı kullanıcılara bırakılacaktır.
Ancak, kullanıcılarınızın otomatik olarak ana sayfanıza, görmelerini istediğiniz tartışma sayfalarına veya başka ilgi çekici sayfalara yönlendirilmesini istiyorsanız? Belki özel widget'lar içeren veya kullanıcılarınızı başka bir yere yönlendiren farklı bir çıkış sayfası oluşturmak istiyorsunuz? Eğer öyleyse, her şeyin gerçekleşmesi için bu küçük koda ihtiyacınız olacak.
Sonraki birkaç satırda, bir kullanıcıyı istediğiniz herhangi bir URL'ye nasıl kolayca yeniden yönlendireceğinizi göstermek üzereyiz. Kodu yeniden yönlendirmeler için kullanmak istemiyorsanız, tüm bunları sizin için yapacak basit bir eklenti göstermek üzereyiz. Ancak bundan önce bir kullanıcıyı ana sayfaya yönlendirelim:
- Functions.php dosyasını açın
- Aşağıdaki kodu kopyalayıp yapıştırın:
add_action('wp_logout','auto_redirect_after_logout');
function auto_redirect_after_logout(){
wp_redirect(home_url());
çıkış();
}
- Değişiklikleri Kaydet
- Çıkış yapın ve güzel ana sayfanızın keyfini çıkarın
Bu kadar basit. Koddan da tahmin edebileceğiniz gibi , üçüncü satırı değiştirerek bir kullanıcıyı başka bir URL'ye yönlendirebilirsiniz . Bu nedenle, kullanıcılarınızı kendi sitenizin başka bir sayfasına veya herhangi bir harici sayfaya yönlendirmek istiyorsanız, kodunuz şöyle görünmelidir:
add_action('wp_logout','auto_redirect_after_logout');
function auto_redirect_after_logout(){
wp_redirect('http://www.firstsiteguide.com');
çıkış();
}
wp_redirect işleviyle daha fazlasını yapmak istiyorsanız, WordPress Codex sayfalarında bununla ilgili daha fazla bilgi edinebilirsiniz.
Giriş ve Çıkış Yönlendirmesi
FİYAT: Ücretsiz

Bu ücretsiz eklenti nispeten basittir ve işini mükemmel bir şekilde yapacaktır. Kodla uğraşmak yerine, Login and Logout Redirect, ayarlar sayfasında ek bir segment oluşturacaktır. Yükleyip etkinleştirdikten sonra, Ayarlar -> Genel'e gitmeniz ve sayfanın sonuna kadar kaydırmanız gerekir . Burada Giriş ve Çıkış yönlendirmeleri için ayrı giriş kutuları bulacaksınız. İstediğiniz URL'leri girin, değişiklikleri kaydedin ve işiniz bitti!
WordPress web siteniz için daha fazla yönlendirme seçeneğine ihtiyacınız varsa, herhangi bir gönderiyi, sayfayı, kategoriyi, etiketi veya özel URL'yi yeniden yönlendirmenize yardımcı olabilecek 5sec Yönlendirme eklentisini kontrol etmenizi öneririz. Bu ziyaretçilerden ortaklık bağlantılarından veya herhangi bir URL'yi gizleme için büyük bir şey olabilir sizin URL'ler pelerin sağlayacaktır. Eklenti ayrıca, sitede neler olduğunu bilmeniz için yönlendirilen her bağlantıyla ilgili istatistikleri de gösterir.
Yorum bıraktıktan sonra kullanıcıları yönlendirin
Makale yayınlamaya başladığınızda, elbette, insanların bunlara yorum yapmasını isteyeceksiniz. Kılavuzun bu bölümünde, bir yorum gönderdikten sonra bir kullanıcıyı nasıl yeniden yönlendireceğinizi göstermek üzereyiz.

Bu işlev, belirli durumlarda sizin için kullanışlı olabilir. Örneğin, düzenlediğiniz bir çekiliş için özel bir "teşekkür ederim" sayfası oluşturmak isteyebilirsiniz . Bu nedenle, ziyaretçiler bir çekilişe yorum bırakarak katıldığında, onları ödüller hakkında ek bilgi sağlayabileceğiniz "teşekkür ederim" sayfasına kolayca yönlendirebilirsiniz.
Bir kullanıcıyı yorum bıraktıktan sonra yönlendirmek için aslında tonlarca farklı nedeniniz olabilir, bu yüzden daha fazla uzatmadan, işlemi otomatikleştirmek için yapmanız gerekenler burada.
Yorum gönderdikten sonra kullanıcıyı yönlendir:
- Functions.php dosyasını açın
- Bu kodu kopyalayıp dosyaya yapıştırın:
function redirect_after_comment(){ wp_redirect('/teşekkürler/'); çıkış(); } add_filter('comment_post_redirect', 'redirect_after_comment');
- 2. satırdaki sayfanın adını değiştirin
- Değişiklikleri Kaydet
Bu kadar. Şimdi devam edebilir ve işlevi test edebilirsiniz. Gönderilerinizden herhangi birini açın ve bir yorum bırakın. Her şeyi doğru yaptıysanız, http://www.siteniz.com/teşekkürler sayfasına veya kodunuzun ikinci satırında belirtilen sayfaya ulaşmalısınız.

İnsanlara yorum yaptıkları için teşekkür etmeyi unutmayın ama aynı zamanda ziyaretçilerinizin sitede kalmasını ve gezinmeye devam etmesini istediğinizi de unutmayın. En son veya en popüler gönderilerinizin bir listesini eklemek iyi bir fikir olabilir veya belki de bir yorumcunun ilgisini çekebilecek tüm ilgili gönderileri listelemek daha iyi olabilir. Bir posta listeniz varsa, burası ona abonelik teklif etmek için iyi bir yerdir.
Bu işlev, yorum bıraktıktan sonra kullanıcıları yeniden yönlendirmenin kolay ve hızlı bir yolunu sunarken, size bazı ek özellikler kazandıracak bir eklenti ilginizi çekebilir.
Yalnızca bir sonuç bulunduysa, aramadan sonra kullanıcıları yeniden yönlendirin
Çok sayıda makaleyle uğraşıyorsanız, arama işlevi bir zorunluluktur. Günlük olarak yazıyorsanız, farklı kategorilere dağılmış makalelerin sayısını hayal edin. Günde sadece üç kısa makale yayınlarsanız, ilk yıldan sonra veritabanınızda binin üzerinde farklı başlık olacaktır. Şimdi, belirli bir şey ararken siteye ilk kez geldiğinizi hayal edin - onu aramak isteyeceksiniz.
Varsayılan olarak, WordPress yazı başlıklarını, etiketleri ve tabii ki içeriği arayacaktır. Bu nedenle, bir kelime veya belirli bir kelime öbeği aranıyorsa, muhtemelen sorguyu içeren düzinelerce yazı ve sayfa bulacaktır. Peki ya yalnızca bir arama sonucu varsa?
Birisi çok özel bir ifadeyi veya tüm cümleyi arıyorsa, muhtemelen sadece birkaç veya sadece bir sonuç olacaktır. Yalnızca bir sonuç bulunursa, bir kullanıcıyı arama sonuçları sayfasına yönlendirmek oldukça gereksizdir . Bunun yerine, neden bu kullanıcıyı doğrudan sonuçta bulunan yazıya/sayfaya götürmeyesiniz?
Bunu nasıl yapacağımıza bir bakalım:
- Functions.php'yi açın
- Bu kodu kopyalayın ve dosyanın sonuna yapıştırın:
add_action('şablon_yönlendirme', 'redirect_search_result); function redirect_search_result() { if (is_search()) { küresel $wp_query; if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) { wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); çıkış; } } }
- Değişiklikleri Kaydet
WordPress'inizi yeni işlevsellik için hazırladınız. Değişiklikleri kaydettikten sonra, bir kullanıcı yalnızca bir sonuç döndürecek bir şey aradığında, bu kullanıcı doğrudan yazıya/sayfaya yönlendirilecektir.
Çok fazla bir şey gibi görünmese bile, ziyaretçilerinizin bir düğme tıklamasını kaydetmenizden hoşlanacağından eminiz. Buraya bir tıklamayı ve bir oraya tıklamayı kaydetmek daha iyi bir kullanıcı deneyimi sağlar ve bu muhtemelen web sitenizde istediğiniz bir şeydir, değil mi?
Bir kategoride yalnızca bir gönderi bulunduğunda kullanıcıları yönlendirin
Yalnızca bir sonuç içeren bir kategori veya etiket sayfası açmak yerine, o kullanıcıyı doğrudan gönderiye/sayfaya yönlendirebilirsiniz. Çoğu kod parçacığımızda olduğu gibi, kodu kopyalayıp yapıştırmanız yeterli olacaktır:
Bir kategoride veya etikette yalnızca bir gönderi varsa kullanıcıyı yönlendirin:
- Functions.php dosyasını açın
- Aşağıdaki kodu kopyalayıp yapıştırın:
işlev yönlendirme_to_post(){
küresel $wp_query;
if( is_archive() && $wp_query->post_count == 1 ){
posta();
$post_url = get_permalink();
wp_redirect($post_url);
}
} add_action('template_redirect', 'redirect_to_post');
- Değişiklikleri Kaydet
Kodu tamamladıktan ve değişiklikleri kaydettikten sonra, içinde yalnızca bir yazı/sayfa içeren bir kategori veya etiket sayfası açarak özelliği test edebilirsiniz. Yalnızca bir gönderinin/sayfanın gösterildiği bir sayfa açmak yerine, doğrudan gönderiye yönlendirileceksiniz . Harika, değil mi?
Bazı kullanıcıların kafası karışabileceğinden, kullanıcılara yalnızca bir sonuç bulunduğunu ve yeniden yönlendirmenin gerçekleştiğini bildiren özel bir mesaj eklemek iyi bir fikir olacaktır. Bunu yapmak istiyorsanız, kullanıcının yönlendirildiği yazının/sayfanın üstüne basit bir “echo” ifadesi ekleyerek mesajı bırakabilirsiniz. Bu durumda kodunuz şöyle görünür:
işlev yönlendirme_to_post(){ küresel $wp_query; if( is_archive() && $wp_query->post_count == 1 ){ posta(); $post_url = get_permalink(); wp_redirect($post_url); } echo "Yalnızca bir sonuç bulunduğundan, bu yazıya/sayfaya yönlendirildiniz!"; } add_action('template_redirect', 'redirect_to_post');
Artık bir mesaj uygulandığına göre, işiniz bitti ve yalnızca bir yazı/sayfa içeren kategoriler ve etiketlerle ilgilenmeniz gerekmeyecek. Ancak bu özelliğin, kategoride yeni yazılar yazmamak için bir bahane olmasına izin vermeyin.
Kullanıcıları WordPress'te rastgele bir sayfaya yönlendirin
Bu, her WordPress web sitesinin standart bir özelliği olmayabilir, ancak sitenizde bir yere sahip olmak için kesinlikle eğlenceli bir araç olabilir. Çok yazarsanız veya çok sayıda galeriniz varsa, ortalama bir kullanıcının göremediği binlerce sayfanız olabilir . Öyleyse neden bir kullanıcıyı rastgele bir gönderiye yönlendirerek işleri biraz daha ilginç hale getirmiyorsunuz?
Tamam, bir kullanıcıyı bilgisi olmadan rastgele bir gönderiye yönlendirmeyeceksiniz veya bunu elbette ana sayfada yapmayacaksınız. Ancak, kullanıcının tıklayabileceği ve ardından sitenizin başka bir sayfasına yönlendirileceği basit bir düğme veya bağlantı oluşturabilirsiniz. Belki bir galeridir. Belki yıllar önce yazdığın harika bir başyazı. Kim bilir. Bu eğlenceli olabilir.
Başlayalım:
- Öncelikle yönlendirme bağlantınızı hazırlamanız gerekir. Functions.php dosyanızı açın
- Aşağıdaki kodu kopyalayıp yapıştırın:
add_action('init','random_add_rewrite');
function random_add_rewrite() {
küresel $wp;
$wp->add_query_var('rastgele');
add_rewrite_rule('rastgele/?
- Değişiklikleri Kaydet
- www.alaniniz.com/?random=1 adresine gidin
, 'index.php?random=1', 'üst'); } add_action('template_redirect','random_template'); function random_template() { if (get_query_var('random') == 1) { $posts = get_posts('post_type=post&orderby=rand&numberposts=1'); foreach($posts as $post) { $link = get_permalink($post); } wp_redirect($bağ,307); çıkış; } }
Bundan sonra, bağlantınızı/düğmenizi oluşturmaya hazırsınız. Tek yapmanız gereken http://www.yourdomain.com/?random=1 adresine bağlantı vermek ve bir kullanıcı sayfayı her açtığında rastgele bir sayfaya yönlendirilecektir. Yeni özelliğinizin keyfini çıkarın.
Sizi sonuca yönlendiriyor
Er ya da geç, belirli durumlarda belirli kullanıcıları yeniden yönlendirmek isteyeceksiniz. Bunun için iyi bir nedeniniz varsa ve ziyaretçilerinizin bir şeyler satın almasını sağlamaya çalışıyorsanız veya sadece oturum açma sürecini daha rahat hale getirmek istiyorsanız, bu eğitim yönlendirmeleri yönetmenize yardımcı olacaktır.
Kodlama konusunda yeterince rahatsanız, bunu geliştirebilecek ve kullanıcıları farklı durumlarda da yönlendirebileceksiniz. Değilse, umarız bu örnekler ihtiyaçlarınızı karşılamak için yeterli olmuştur.