2015-05-14 3 views
0

У меня есть многоязычный сайт членства Wordpress с плагинами s2member и wpml.Wordpress login перенаправить пользователя на основе языка

пример для страницы входа в португальском: http://example.com/wp-login?lang=pt-br

Я хочу, чтобы перенаправить пользователь после входа в португальской странице приветствия, а не страница приветствия по умолчанию, который является английским.

Есть ли способ добавить параметр на страницу входа в Wordpress? Если да, как я могу получить доступ к этому параметру для моего перенаправления?

ответ

0

Взял меня, но я решил это.

У меня есть поле в моей базе данных для любого языка.

Я добавил это в functions.php:

add_action('wp', 'analyze_form_submit'); 

function analyze_form_submit() { 

    global $current_user; 

    if (is_page(86)) { // 86 is the welcome page after login in my case 

     $affil_id = $current_user->user_login; 
     $query="SELECT lang FROM affil WHERE affil_id=:affil_id"; 
     $stmt = $conn->prepare($query); 
     $stmt->bindParam(':affil_id', $affil_id, PDO::PARAM_STR); 
     $stmt->execute(); 
     $row = $stmt->fetch(PDO::FETCH_ASSOC); 

     $redirect = "http://example.com/welcome?lang="; 

     switch($row['lang']) { 
      case "ENG" : $redirect .= "en"; break; 
      case "HEB": $redirect .= "he"; break; 
      case "ES" : $redirect .= "es"; break; 
      case "BR" : $redirect .= "pt-br"; break; 
      default : $redirect .= "pt-br"; 
     }; 

     wp_redirect($redirect); 
     exit; 
    }; 
}; 

Я надеюсь, что это поможет кому-то в будущем.

Смежные вопросы