如何在注册过程中获取用户ID并将其添加到定制表中

时间:2012-08-30 作者:pixelngrain

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

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

或者,如果需要,我可以使用自定义注册页面;但我需要一些指导,如何在注册过程中动态获取用户ID。

Anyone please help me...

3 个回复
最合适的回答,由SO网友:Scott 整理而成

请看一下user_register hook

当注册新用户并方便地向您传递新用户的用户ID时,将触发此操作。

function function_name( $user_id )
{        
    /* do what you want to do with ID here */
}
add_action( \'user_register\', \'function_name\');

SO网友:butlerblog

@Brady的回答是正确的,因为WP成员确实使用WP的函数插入新用户,所以动作确实会被调用。如果您想要灵活性,并且只对所有内容使用新用户的ID,那么这是一个很好的方法。

但第二种方法是使用WP成员的wpmem_post_register_data 行动该操作将用户的所有注册数据传递到一个由字段元密钥设置密钥的数组中,该数组包含ID。

add_action( \'wpmem_post_register_data\', \'my_reg_hook\' );
function my_reg_hook( $fields ) {
    /* 
     * ID is available as $fields[\'ID\']
     * Other fields are $fields[\'the_fields_meta_key\']
     *
     * do your stuff here
     */
    return;
}
该操作的文档中有一个字段列表,这些字段将包括在数组中,此外还有按元键显示的任何自定义字段:

https://rocketgeek.com/plugins/wp-members/docs/filter-hooks/wpmem_post_register_data/

SO网友:Ramzan Shareef
add_action( \'user_register\', \'usermeta_update\');

function usermeta_update( $user_id )

{ 
  
    add_action(\'woocommerce_created_customer\', \'save_data\', $user_id);

}

//save data
function save_data($customer_id)

{

    //First name field
    if (isset($_POST[\'billing_first_name\'])) {
        update_user_meta($customer_id, \'first_name\', sanitize_text_field($_POST[\'billing_first_name\']));
        update_user_meta($customer_id, \'billing_first_name\', sanitize_text_field($_POST[\'billing_first_name\']));
    }

    //Last name field
    if (isset($_POST[\'billing_last_name\'])) {
        update_user_meta($customer_id, \'last_name\', sanitize_text_field($_POST[\'billing_last_name\']));
        update_user_meta($customer_id, \'billing_last_name\', sanitize_text_field($_POST[\'billing_last_name\']));
    }
}
结束

相关推荐

Users Role and Access

我是一个新手,所以请耐心等待。我正试图创建一个网站与程序员使用wordpress,但不使用它的博客或帖子<我自己不是程序员。我希望人们注册该网站,默认情况下,他们的角色将是修改后的订阅者。这意味着他们将无法访问管理员,也无法在网站上进行任何编辑。他们所能做的就是查看页面。此外,我想限制他们只查看一个或多个特定页面。管理员可以稍后更改其状态,并将其角色设置为常规订阅者。我真正想做的是创建一个有完全限制的网站用户将注册,但在管理员审核其注册并授予其访问权限之前,用户仍无法获得访问权限。这可能吗?