如果未登录,则将用户重定向到特定页面上的登录

时间:2016-12-05 作者:dhiraj

在显示消息“您需要登录才能查看此页面”后,我想将用户重定向到特定页面上的登录页面。我按照此文档进行操作,但无法通过。https://codex.wordpress.org/Function_Reference/auth_redirect

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

你可以在管理部分这样做-

add_action( \'admin_init\', \'redirect_non_logged_users_to_specific_page\' );

function redirect_non_logged_users_to_specific_page() {

    if ( !is_user_logged_in() && is_page(\'add page slug or i.d here\') &&       
    $_SERVER[\'PHP_SELF\'] != \'/wp-admin/admin-ajax.php\' ) {

    wp_redirect( \'http://www.example.dev/page/\' ); 
    exit;
}
对于前端-

add_action( \'template_redirect\', \'redirect_to_specific_page\' );

function redirect_to_specific_page() {

    if ( is_page(\'slug\') && ! is_user_logged_in() ) {

        wp_redirect( \'http://www.example.dev/your-page/\', 301 );
        exit;
    }
}
还有这个auth_redirect 函数用于后端。如果要在前端使用它,请添加以下过滤器-

add_filter( \'auth_redirect_scheme\', \'the_dramatistcheck_loggedin\' );
function the_dramatist_check_loggedin(){
    return \'logged_in\';
}
那么auth_redirect() 将按预期工作:如果用户未登录,请将其重定向到登录表单。

SO网友:Sonali

它在我们的文件中工作得很好,请您给我们一些代码,您在其中运行这些代码的过滤器或操作

相关推荐

Redirect Css files to https

在哪里可以找到负责调用Css文件的文件,并测试它们的链接是http还是https?我想测试请求是否为https,如果是,那么很好,如果不是,请将其更改为https在函数中。php我找到了负责调用主题Css的函数,下面是它的代码:if (!function_exists(\'jobcareer_front_scripts\')) { function jobcareer_front_scripts() { global $jobcareer_options;