自定义登录表单-如果未登录,则将用户重定向到登录页面

时间:2015-01-27 作者:Slimshadddyyy

如前所述,我已经集成了自定义登录表单here 并通过快捷码将此自定义登录表单嵌入到WordPress页面[dm_login_form].

之后,我有了集成的访问控制插件here 这允许我重定向用户到登录页面,如果没有登录。

我需要将用户重定向到我的自定义登录页面post/page 由访问non-authenticated 使用者如果我提供自定义登录页,它将进入重定向循环URL.

对于管理员身份验证,我使用默认值wp-login.php 其他用户使用自定义登录页面登录时的URLURL.

函数中的代码。用于重定向的php

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

function redirect_user(){
    global $current_user;
    if (!is_user_logged_in()){
        $return_url = site_url().\'/login\';
        wp_redirect($return_url);
        exit();
    }
}
如果用户没有登录,我只需要将其重定向到我的登录页面URL,然后尝试访问任何页面/帖子。如何防止此重定向循环?

谢谢

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

以下是将非用户重定向到登录页面的函数。

function redirect_user() {
  if ( ! is_user_logged_in() && ! is_page( \'login\' ) ) {
    $return_url = esc_url( home_url( \'/login/\' ) );
    wp_redirect( $return_url );
    exit;
  }
}
add_action( \'template_redirect\', \'redirect_user\' );

结束

相关推荐

是否存在比LOGIN_HEAD或LOGIN_ENQUEUE_SCRIPTS更早的挂钩?

我所拥有的:一个基本插件,将样式表和JavaScript文件排队,以修改登录表单。标志、色彩设计和其他风格受到影响。我的问题:因为/wp-login.php 页面加载时,在我的插件启动之前,默认布局会显示1到2秒,然后才应用插件的修改。CSS和JavaScript都落后,因此它是整个插件。我的问题:我如何将我的样式/脚本排队,以便插件不需要1-2秒就可以应用(或者我如何简单地强制我的插件立即应用)?