登录模块加载中...
会员投稿 投稿指南 今天是:
打印本页 | 关闭窗口 | 双击滚屏 您的位置首页>>网页制作学习园地>>网页制作>>制作问题解答>>WordPress登录后返回登录前的页面
WordPress登录后返回登录前的页面
来源:网页教学网 ‖ 作者: ‖ 点击: ‖ 时间:12-01-29 09:31:58 ‖ 【 】‖ 我要投稿
用万能的搜索(很少百度)找了下,方法基本上就是一个,代码如下:
// Fields for redirect function custom_login_fields() {
?>




} // 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()函数用来获取当前页面地址),便可实现登录后页面自动跳转到登录前页面。

代码如下:

Login to view

只要把上面的代码复制,放在用户登录后需要返回的页面(即登录前的页面),这样就可以了。

方法二:

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地址';
}
加入收藏:  加入收藏夹  | 发送给好友:  发送给好友
责任编辑:admin
  • 上一篇:响应式网页设计和移动互联网
  • 下一篇:无
  • 相关文章列表
    请文明参与讨论,禁止漫骂攻击。  
    网友评论