我有woocommerce的用户注册表格,用户可以在其中注册以创建帐户。现在生成的用户名是名字。是否可以在woocommerce注册时将billing_company字段用作用户名而不是名字?
答案 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;
}