如何在注册时获取用户ID并添加到自定义表中

时间:2012-09-03 07:20:51

标签: database wordpress

我正在尝试在注册时获取用户ID,并自动将该ID添加到我的自定义表中。我正在使用wp-members插件进行注册。

因此,可以在注册时动态获取用户ID,并使用WP-Members插件将该ID添加到另一个自定义表中。

或者,如果需要,我可以使用自定义注册页面。但是需要一些指导如何在注册期间获得用户ID。

我将以下代码添加到我的主题functions.php但没有任何作用..我不知道我错在哪里或者这段代码是完全错误的?

function get_customs_id($user_id){
    global $wpdb;
    $wpdb->insert( 'wp_customs', array( 'customs_id' => 'value1' ), array( '%d' ) );
}
add_filter('user_register', 'get_customs_id');

请帮我把它弄好..:)

1 个答案:

答案 0 :(得分:0)

除了'user_register'是动作挂钩而不是过滤器这一事实外,这应该有效。

查看问题的日期,该插件可能当时没有使用wp_insert_user。我不确定。但它现在确实如此,因此钩子应该起作用。

还有一个特定于该插件的动作钩子也可以使用 - wpmem_post_register_data。用户注册并插入数据库之后会出现此挂钩。它接收包含id。

的所有用户字段的数组

因此,使用该钩子和其他代码,这应该有效:

function get_customs_id($fields){
    global $wpdb;
    $wpdb->insert( 'wp_customs', array( 'customs_id' => $fields['ID'] ), array( '%d' ) );
}
add_filter('user_register', 'get_customs_id');