使用UI开关强制前端登录

时间:2012-02-22 作者:Pekka

有没有一种方法可以强制登录,即使是查看WordPress博客,博客的所有者也可以自己打开和关闭?

我可以在模板的header.php 像这样:

if ( !is_user_logged_in() ) {
   wp_redirect( wp_login_url() );
   exit;
}
但这不能从博客的管理页面上受到影响。

这里有force user login 插件,但它在3中不起作用。x个博客。我将尝试为3修补插件。x、 但是对其他人的建议(本地?)欢迎使用方法。

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

这很容易实现,您可以将其放入函数中。php,如果您想将其绑定到主题,或者从以下内容创建您自己的插件:

add_action(\'init\',\'my_force_login\');
function my_force_login(){
    if ( !is_user_logged_in() &&  !in_array( $GLOBALS[\'pagenow\'], array( \'wp-login.php\', \'wp-register.php\' ) ) ) {
        $force_login=get_option(\'my_force_login\');
        if($force_login){
            wp_redirect( wp_login_url() );
            exit;
        }
    }
}
要使其正常工作,您需要创建一个选项(如果要将其绑定到主题,则需要创建一个主题选项,否则需要创建一个extra option in an appropriate WordPress page.

在上面,我假设有一个名为“my\\u force\\u login”的选项,其值为true/false(或1/0),用于确定重定向是否应生效。

重定向适用于除登录/注册页面外的所有已注销用户的所有页面。

结束

相关推荐

wp_login_form redirect

是否有方法将使用wp\\u login\\u表单登录的用户重定向到注册时自动创建的自定义页面似乎URL需要是绝对的,很明显URL的结尾会随着每个用户的不同而变化。请参阅用于在注册时创建页面的函数function create_user_page($user_id) { if ( $user = get_userdata($user_id) ) { // Create a new user-specific page $page = array