關於WordPress登錄后跳轉到指定頁面


前面在寫模版的時候,有朋友要求網站登錄后要跳轉的到指定的頁面。這個從前還真沒遇到過。於是就用萬能的搜索(很少百度)找了下,方法基本上就是一個,代碼如下:

<?php
    // Fields for redirect function custom_login_fields() {
?>
<p><label><strong>Choose your location: </strong>
<select name="login_location">
<option value="">Select &hellip;</option>
<option value="<?php bloginfo('url'); ?>#banking">Banking</option>
<option value="<?php  bloginfo('url'); ?>#insurance">Insurance</option>
<option value="<?php echo get_permalink(2); ?>">Securities</option>
</select> </label>
</p><br/>
<?php
    } // Redirect function
function location_redirect() {
$location = $_POST['login_location'];
wp_safe_redirect($location);
exit(); } // Add fields to the login form
add_action('login_form','custom_login_fields'); // Make sure the redirect happens only if your fields are submitted
if ( (isset($_GET['action']) && $_GET['action'] != 'logout') || (isset($_POST['login_location']) && !empty($_POST['login_location'])) )
add_filter('login_redirect', 'location_redirect', 10, 3);
?>

但我試了沒成功,不知道原因出在何處。於是又找了下登錄后返回登錄前的頁面,有如下方法:

方法一:

wordpress的安裝文件中有一個名為“wp_login_url()”的函數,這個函數用來實現登錄后頁面跳轉到用戶指定的頁面,它能夠接收一個參數,這個輸入參數的值是可以被訪問到的url地址。

通過使用“get_permalink()”作為輸入參數(get_permalink()函數用來獲取當前頁面地址),便可實現登錄后頁面自動跳轉到登錄前頁面。

代碼如下:

<a title="Login" href="<?php echo wp_login_url(get_permalink()); ?>">Login to view</a>

只要把上面的代碼復制,放在用戶登錄后需要返回的頁面(即登錄前的頁面),這樣就可以了。

方法二:

function back_curPageURL() {
    $pageURL = 'http';
    if ( isset( $_SERVER["HTTPS"] ) AND $_SERVER["HTTPS"] == "on" )
        $pageURL .= "s";
    $pageURL .= "://";
    if ( isset( $_SERVER["SERVER_PORT"] ) AND $_SERVER["SERVER_PORT"] != "80" )
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    else
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    return $pageURL;
}
add_filter('login_redirect', ' back_curPageURL ');

把上述代碼加到function.php文件中。

我看這個方法和前面一個差不多。

於是我改了下,便成了登錄后跳轉到指定頁面的方法,這也是一朋友在論壇中回復我的內容,代碼如下:

add_filter('login_redirect', 'new_login_redirect');
function new_login_redirect()
{
return '登錄成功后要跳轉的URL地址';
}

你們還有更好的方法嘛?介紹來分享下吧。

 


 

WordPress登錄后實現跳轉到首頁

大家都知道wordpress在正確登錄的時候都會跳轉至后台管理頁面,跳轉離開了當前頁面是多么的痛苦。

那如何讓wordpress在用戶登錄的時候直接跳轉到某個頁面或者是跳轉到網站首頁?用下面的方法可以實現讓您的用戶登錄后即跳轉到了網站的首頁。
找到您的function.php文件,在文件里面copy下面的代碼:
function my_login_redirect($redirect_to, $request){
if( empty( $redirect_to ) || $redirect_to == ‘wp-admin/’ || $redirect_to == admin_url() )
return home_url(“”);
else
return $redirect_to;
}
add_filter(“login_redirect”, “my_login_redirect”, 10, 3);
然后保存並上傳覆蓋您的原來function.php文件,試着去登錄下看看。
這里需要說明的是:代碼雖然給出來了,不過建議大家最好還是能夠讀懂代碼,更要能夠去修改代碼。
關於如何讓用戶登錄后跳轉到之前的查看頁面的方法,我后續給大家放出,這里先在此停筆哦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM