登录后重定向到当前页面

时间:2014-06-10 作者:Berke Cagkan Toptas

在我的wordpress页面中,我使用下面的代码(在functions.php中)将登录-注销项目添加到主菜单中:

add_filter(\'wp_nav_menu_items\', \'add_login_logout_link\', 10, 2);
function add_login_logout_link($items, $args) {
        ob_start();
        wp_loginout(\'index.php\');
        $loginoutlink = ob_get_contents();
        ob_end_clean();
        $items .= \'<li>\'. $loginoutlink .\'</li>\';
    return $items;
}
使用此按钮执行登录时,应重定向单击登录的当前页面。我该怎么做?

我想wp_loginout(\'index.php\') 需要更改,因为在登录和注销后,我重定向到主页。要转到上一页,我应该写些什么?

1 个回复
最合适的回答,由SO网友:engelen 整理而成

wp_loginout 接受两个参数,$redirect (字符串)和$echo (布尔)。使用登录或注销后,可以指定要重定向到的页面的URL$redirect 参数在当前代码中,$redirect is索引。php’。

您可以使用获取当前页面的完整URL

( is_ssl() ? \'https\' : \'http\' ) . \'://\' . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\']
屈服

wp_loginout( ( is_ssl() ? \'https\' : \'http\' ) . \'://\' . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\'] );
这就应该成功了!

结束

相关推荐

How to override wp-login.php

我想覆盖默认WordPress登录页:wp-login.php.原因是,我想在文件的顶部编写一些自定义代码,检查后端的一些条件,并执行诸如将用户重定向到其他页面之类的操作。我想这样做是因为我想在自定义文件中执行自己的身份验证逻辑,而不显示默认的WordPress登录表单。我的逻辑包括解析一些cookie和会话数据(特别是没有登录表单,可能是自定义表单)。我真的想把我的逻辑写在header.php 子主题的文件,但不幸的是wp-login.php 文件不包括主题的头文件。我不想编辑wp-login.php