1

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

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

或者,如果需要,我可以使用自定义注册页面。但是需要一些指导如何在注册过程中即时获取用户 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');

请帮我让它工作.. :)

4

1 回答 1

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');
于 2015-04-17T02:16:15.850 回答