【问题标题】:How to add redirection exception for logged out users in WordPress如何在 WordPress 中为已注销的用户添加重定向异常
【发布时间】:2019-04-29 23:05:46
【问题描述】:

我有下面的代码将我的 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”插件

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

【问题讨论】:

    标签: php wordpress themes


    【解决方案1】:

    您可以使用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();
            }
        }
    }
    

    【讨论】:

    • 很遗憾没用。我也不想将它们重定向到主页。假设我想将所有已注销的用户重定向到 google.com,如果他们尝试访问任何页面,除了 /register-member/ 和 /groups/ 页面。
    猜你喜欢
    • 2018-07-16
    • 2020-03-26
    • 1970-01-01
    • 2013-08-31
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 2020-09-06
    相关资源
    最近更新 更多