2012-09-03 19 views
1

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

因此,可以在注册时即时获取用户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'); 

请帮我做它的工作原理.. :)

回答

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'); 
相关问题