我遇到了问题,这是我的代码,目标是登录后重定向到一个或另一个页面。
function my_login_redirect(){
$current_user = wp_get_current_user();
$user1 = $current_user->ID;
$meta = get_user_meta($user1, 'kundenumber' );
if ($meta == '' ){
// return the url that the login should redirect to
$var = 'http://www.example1.com';
}else {
$var = 'http://www.example2.com';
}
return $var;
}
它总是返回第一个链接(我有两个用户,这些是'kundenumber'字段的var转储)
array(1) { [0]=> string( 0 ) "" }
array(1) { [0]=> string( 6 ) "123456" }
答案 0 :(得分:2)
https://codex.wordpress.org/Function_Reference/get_user_meta
所以你需要将第三个参数设置为true才能获得value
而不是array
:
$meta = get_user_meta($user1, 'kundenumber', true );
答案 1 :(得分:0)
get_user_meta()
返回一个数组。您将整个数组与空字符串进行比较。您应该将数组中的字符串与if ($meta[0] == '')
答案 2 :(得分:0)
这意味着$ meta为空。空$ meta有两种可能性 - 1)使用错误的密钥。 2)$ user_id未设置或设置为不正确的值。