使用woocommerce字段中的billing_company作为用户名

时间:2019-01-31 14:32:55

标签: wordpress woocommerce

我有woocommerce的用户注册表格,用户可以在其中注册以创建帐户。现在生成的用户名是名字。是否可以在woocommerce注册时将billing_company字段用作用户名而不是名字?

1 个答案:

答案 0 :(得分:0)

您应该使用连接到woocommerce_new_customer_data过滤器挂钩的自定义函数。该代码将姓氏和名字作为用户名组合在一起。比使用计费公司更好

add_filter( 'woocommerce_new_customer_data', 'custom_new_customer_data', 10, 1 );
function custom_new_customer_data( $cust_customer_data ){

    // get the first and last billing names
    if(isset($_POST['billing_first_name'])) $first_name = $_POST['billing_first_name'];
    if(isset($_POST['billing_last_name'])) $last_name = $_POST['billing_last_name'];


    // the customer billing complete name
    if( ! empty($first_name) || ! empty($last_name) ) {
        $user_name = $first_name . ' ' . $last_name;
    }

    // Replacing 'user_login' in the user data array, before data is inserted
    if( ! empty($user_name ) ) {
        $cust_customer_data['user_login'] = sanitize_user( str_replace( ' ', '_', $user_name ) );
    }
    return $cust_customer_data; 
}