当用户在wordpress网站上注册时,我试图执行一些功能。我为此创建了一个模块,它执行以下功能:
add_action( 'user_register', 'tml_new_user_registered' );
function tml_new_user_registered( $user_id ) {
//wp_set_auth_cookie( $user_id, false, is_ssl() );
//wp_redirect( admin_url( 'profile.php' ) );
$user_info = get_userdata($user_id);
$subscription_value = get_user_meta( $user_id, "subscribe_to_newsletter", TRUE);
if($subscription_value == "Yes") {
//include("Subscriber.Add.php");
}
echo "<pre>: ";
print_r($user_info);
print_r($subscription_value);
echo "</pre>";
exit;
}
但似乎我无法访问任何用户元数据,因为在此阶段结束时,它都没有存储。
一旦Wordpress完成了将元数据添加到相关表中的整个注册过程,我是如何执行函数的?
我试图用这个:
add_filter('user_register ','tml_new_user_registered',99);
但遗憾的是没有运气。
提前致谢!
答案 0 :(得分:0)
我在action reference api page读到用户ID已作为user ID
传递。尝试用$user_id
代替$user_ID
。
答案 1 :(得分:0)
我认为在触发此操作挂钩时,用户元数据不可用。来自Codex
“触发此操作时,并非所有用户元数据都已存储在数据库中。例如,昵称在数据库中,但first_name和last_name不在(截至3.9.1)。密码已在加密时这个动作被触发了。“