2017-01-09 5 views
0

私は現在、彼らは私のウェブサイトを訪問したときにユーザーをリダイレクトするために、私のfunctions.phpに追加以下のコードを持っています。 'update_racer_record'の値が 'YES'に設定されている場合にのみ、ユーザーはリダイレクトされます。 Wordpressのは、彼が最後のページに到達した後でも、ユーザーをリダイレクトし続けるためWordpressのリダイレクトが発行

しかし、私は「あまりにも多くのリダイレクト」問題を取得しています。これを止めるために、 'is_page'条件を追加しましたが、それは動作していないようです。私はまだ「リダイレクトが多すぎます」というエラーが発生しています。

私には何が欠けていますか?

add_action('init', 'my_redirect'); 

function my_redirect(){ 

    global $wpdb; 

    // if user is logged in 
    if(is_user_logged_in()) { 

     // set vars 
     $racer_id = find_racer_id(); 
     $update_racer_record = 'NO'; 

     // check to see if the user record has been updated in the last 6 months 
     $update_racer_record = $wpdb->get_var(" 
       select 'YES' 
        from flx_racers 
       where racer_id = " . $racer_id . " 
        and ifnull(update_date, date_sub(now(), interval 7 month)) < date_sub(now(), interval 6 month); 
     "); 

     // if user record has not been updated in the last 6 months, redirect 
     if ($update_racer_record == 'YES') { 

     // if we are not currently already in the personal info page, then redirect to it 
     if (!is_page('flx-racer-personal-info')) { 
      wp_redirect(site_url().'/flx-racer-personal-info/'); exit; 
     } 

     } 

    } 

} 

答えて

0

私はそれを修正し、今は完全に動作します!これに

add_action('init', 'my_redirect'); 

:単純にこのことから...

をadd_actionコードを変更することにより、

add_action('template_redirect', 'my_redirect'); 
関連する問題