wordpress登錄后跳轉(zhuǎn)到指定頁面

字號:


    前面在寫模版的時候,有朋友要求網(wǎng)站登錄后要跳轉(zhuǎn)的到指定的頁面。這個從前還真沒遇到過。于是就用萬能的搜索(很少百度)找了下,方法基本上就是一個,代碼如下:
    代碼如下:
    <?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()”的函數(shù),這個函數(shù)用來實現(xiàn)登錄后頁面跳轉(zhuǎn)到用戶指定的頁面,它能夠接收一個參數(shù),這個輸入?yún)?shù)的值是可以被訪問到的url地址。
    通過使用“get_permalink()”作為輸入?yún)?shù)(get_permalink()函數(shù)用來獲取當(dāng)前頁面地址),便可實現(xiàn)登錄后頁面自動跳轉(zhuǎn)到登錄前頁面。
    代碼如下:
    <a title=login href=<?php echo wp_login_url(get_permalink()); ?>>login to view</a>
    只要把上面的代碼復(fù)制,放在用戶登錄后需要返回的頁面(即登錄前的頁面),這樣就可以了。
    方法二:
    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文件中。
    我看這個方法和前面一個差不多。
    于是我改了下,便成了登錄后跳轉(zhuǎn)到指定頁面的方法,這也是一朋友在論壇中回復(fù)我的內(nèi)容,代碼如下:
    add_filter('login_redirect', 'new_login_redirect');
    function new_login_redirect()
    {
    return '登錄成功后要跳轉(zhuǎn)的url地址';
    }