wordpress网站没有打开任何页面。显示此页面具有重定向循环的错误

时间:2014-03-24 11:33:19

标签: wordpress redirect

我正在开设会员网站。没有选择任何级别并已注册其出生日期的用户,我想在他们尝试访问任何页面时将其重定向到会员级别。我正在使用wordpress和buddypress安装。我在function.php中编写了这段代码。

add_action('init','redirect_to_levels');
function redirect_to_levels(){
    $user_ID = get_current_user_id();
    $Birthday =  xprofile_get_field_data( 'Birthday', $user_ID );
    $did_level = displayed_user_on_level($user_ID); //this returns the  level
    $redirect_page = get_permalink(215);

    if(!$did_level && $Birthday ) {
        wp_redirect( $redirect_page ); exit;    
    }
}

但问题是,当我尝试访问该网站时,浏览器不会打开任何页面并显示此错误。 “此网页有重定向循环” 当我删除wp_redirect时,它工作正常。

2 个答案:

答案 0 :(得分:0)

当重定向到$ redirect_page时,该页面还会运行redirect_to_levels函数并再次将其重定向到自身,从而导致重定向循环。

您可以添加

if ( is_page(215) )
exit;

到函数的第一行。

答案 1 :(得分:0)

我也不确定。但我认为是,

functions.php上的

函数正在运行每个页面加载。因此,当您加载页面时,它正在重新恢复。所以它一次又一次地肆虐。

将此代码添加为自定义页面模板。(到您检查用户级别的页面)

或获取用户级别检查页面ID并执行以下操作。 (让我们认为你的身份证是123)

<?php if(is_page(123)) { ?> 
  add_action('init','redirect_to_levels');
<?php } ?>
告诉我这是否有效。我没有检查这段代码。在测试网站上试试这个。