身份验证/登录机制(非wp-admin)

时间:2015-02-15 作者:ccot

我正在制定一个主题。我需要有一个用户登录系统,允许用户在登录后查看应用程序的所有内容并与之交互(而不是管理面板登录)。

我需要在开始时将所有流量重定向到登录。如果用户未登录,请使用php页面代替wordpress“主页”(page.php)。否则,降落在“家”中。

在wordpress中不使用插件的正确方法是什么?

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

您可以使用wp_loaded 钩子将所有未登录的流量推送到登录屏幕。注意我是如何通过的$_SERVER[\'REQUEST_URI\']wp_login_url() - 这将作为URL参数传递给登录页面,一旦用户成功登录,他们将被重定向回最初尝试访问的URL。

function wpse_178177_redirect_to_login_if_guest() {
    if ( ! is_admin() && ! is_user_logged_in() && $GLOBALS[\'pagenow\'] !== \'wp-login.php\' ) {
        wp_redirect( wp_login_url( $_SERVER[\'REQUEST_URI\'] ) );
        exit;
    }
}

add_action( \'wp_loaded\', \'wpse_178177_redirect_to_login_if_guest\' );

结束

相关推荐

如果错误为‘EMPTY_USERNAME’或‘EMPTY_PASSWORD’,则使用‘wp_LOGIN_FAILED’操作挂钩重定向用户

背景我正试图在离开的同时,在一个博客上进行无表情的前端登录wp-login.php 可供那些知道如何到达那里的用户使用。wp-login.php 还需要对前端登录进行身份验证,因此无法将其完全删除。我几乎做到了,但我有一个登录失败的问题,特别是用户名为空。问题有人知道如何停止wp-login.php 显示空用户名/密码错误,同时避免用户直接转到wp-login.php?我的工作定位了wp_login_failed 钩子并创建了下面的函数。基本上,它添加了查询参数来说明登录失败,以及在将用户重定向回前端登录