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