访问Wordpress中用户注册的用户元数据

时间:2010-10-28 11:25:12

标签: wordpress

当用户在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);

但遗憾的是没有运气。

提前致谢!

2 个答案:

答案 0 :(得分:0)

我在action reference api page读到用户ID已作为user ID传递。尝试用$user_id代替$user_ID

答案 1 :(得分:0)

我认为在触发此操作挂钩时,用户元数据不可用。来自Codex

“触发此操作时,并非所有用户元数据都已存储在数据库中。例如,昵称在数据库中,但first_name和last_name不在(截至3.9.1)。密码已在加密时这个动作被触发了。“