Restricting page access

时间:2014-11-12 作者:Pete Norris

我需要限制除注册用户外的所有人访问wordpress站点中的页面。我已经研究了几个插件,虽然它们工作得很好,但它们不太适合我的解决方案。。。我试图限制的页面基于一个页面模板,该模板本身有一些硬编码表单,可以与后端服务器交互。我尝试过的插件阻止了WP内容,但我仍然可以从模板中看到表单。

我需要:

成功注册后,在我可以设置样式的被阻止页面上在线显示登录和注册框(不重定向到标准WP登录),然后页面将显示包含模板内容的内容。我希望这是清楚的,有人可以帮助我更好的插件或代码解决方案谢谢

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

您可以有条件地使用is_user_logged_in() 签入模板。

SO网友:gonzalezea

您可以使用wp\\u login\\u表单,类似这样的

if ( ! is_user_logged_in() and <any-other-condition>){
    $args = array(
        \'echo\'           => false,
        \'redirect\'       => esc_url($_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]), 
        \'label_username\' => __( \'Username\' ),
        \'label_password\' => __( \'Password\' ),
        \'label_remember\' => __( \'Remember Me\' ),
        \'label_log_in\'   => __( \'Log In\' ),
        \'id_username\'    => \'user_login\',
        \'id_password\'    => \'user_pass\',
        \'id_remember\'    => \'rememberme\',
        \'id_submit\'      => \'wp-submit\',
        \'remember\'       => true,
        \'value_username\' => NULL,
        \'value_remember\' => false
    );
    $loginform = wp_login_form( $args );
}
...continue and do whatever with $loginform

结束