在wordpress中登录重定向

时间:2014-07-26 20:10:55

标签: php wordpress

我有一个页面,要求用户登录才能查看该页面。我使用了Link中的以下代码。然而,问题是当用户登录时,他被带到主页而不是他试图访问的页面。我该如何解决这个问题?

add_action('template_redirect','wpse16975_check_if_logged_in');
function wpse16975_check_if_logged_in(){
$pageid = 2295;
if(!is_user_logged_in() && is_page($pageid)) {
$url = add_query_arg(
    'redirect_to',
    get_permalink($pageid),
    site_url('wp-login.php')
);
wp_redirect($url);
exit;
}}

1 个答案:

答案 0 :(得分:1)

您可以使用wp_login_url()

http://codex.wordpress.org/Function_Reference/wp_login_url

改变这个:

$url = add_query_arg(
    'redirect_to',
    get_permalink($pageid),
    site_url('wp-login.php'));

要:

$url = wp_login_url( get_permalink( $pageid ) );

类似的网址将分配给$url变量,但redirect_to参数将首先通过urlencode()运行。