如何在WordPress中为注销的用户添加重定向异常

时间:2019-04-28 16:34:24

标签: php wordpress themes

我有以下代码将我的WordPress注销用户重定向到/ login /

<?php
if (!is_user_logged_in()) {
    if ( ! is_page( 'register-member' ) )
     if ( ! is_page( 'groups' ) ){
 wp_redirect( 'https://members.google.com/login/');
 exit;
} 
} ?>

当前,我将/ register-member /和/ groups /列入了白名单,因此注销的用户可以访问它们。

但是我正尝试将更多页面列入白名单,但该页面无法正常工作,我认为该主题已被主题(BuddyPress)覆盖

我也在使用“ Restrict Content Pro”插件

所以我正在寻找将其他页面列入白名单的解决方案。

1 个答案:

答案 0 :(得分:0)

您可以使用is_user_logged_in()is_front_page()做这些事情。如果不正确,则可以使用wp_redirect()将用户重定向到主页。

假设您的忘记密码页面是一个“页面”,那么您也可以在逻辑中使用is_page()

您需要将其挂接到动作,以便它触发得足够晚以允许检查页面,但触发得足够早仍可以安全地重定向用户(即在发送标题之前)。 template_redirect是最理想的选择。

add_action( 'template_redirect', 'my_frontpage_redirect' );
function my_frontpage_redirect() {
    if ( ! is_user_logged_in() ) {
        if ( ! is_front_page() && ! is_page( 'my-password-reset' ) ) {
            wp_redirect( home_url() );
            exit();
        }
    }
}