0
我有一個多語言wordpress會員網站,s2member和wpml插件。WordPress的登錄重定向用戶基於語言
在葡萄牙登錄頁面的例子是: http://example.com/wp-login?lang=pt-br
我想登錄到葡萄牙的歡迎頁面後,將用戶重定向,而不是默認的歡迎頁面是英文。
有沒有辦法在wordpress中的登錄頁面添加一個參數?如果是這樣,我怎麼能訪問這個參數爲我的重定向?
我有一個多語言wordpress會員網站,s2member和wpml插件。WordPress的登錄重定向用戶基於語言
在葡萄牙登錄頁面的例子是: http://example.com/wp-login?lang=pt-br
我想登錄到葡萄牙的歡迎頁面後,將用戶重定向,而不是默認的歡迎頁面是英文。
有沒有辦法在wordpress中的登錄頁面添加一個參數?如果是這樣,我怎麼能訪問這個參數爲我的重定向?
花了我一段時間,但這是我如何解決它。
我在我的數據庫中有一個字段,用於每個用戶的語言。
我已將此添加到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;
};
};
我希望這將幫助別人的未來。