[英]Wordpress login redirect user based on language
我有一个多语言的wordpress会员网站,带有s2member和wpml插件。
葡萄牙语登录页面的示例是: 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;
};
};
我希望它将对将来的人有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.