Si un usuario se registra en el sitio (ingresar nombre de usuario y correo electrónico) y LUEGO va a comprar, completando los detalles de facturación y envío, ¡el campo nombre en el perfil de usuario de WordPress está vacío!
Si el cliente no se registra antes, pero hace el registro en el momento de la compra, entonces se completan los campos de nombre y apellido del perfil de usuario.
¿Alguna solución?
Gracias.
Vea esta captura de pantalla de la lista de usuarios de wordpress:

Mi problema era que, debido al pago personalizado de WooCommerce y la codificación poco desordenada, no estaba actualizando los campos de nombre y apellido de WordPress del usuario al momento de realizar un nuevo pedido.
Probé el código anterior con pequeños ajustes basados en mi escenario, pero eso no funcionó para mí ya que el usuario se estaba creando y luego se realizó el pedido, por lo que no había información sobre el pedido hasta ese momento.
Intenté conectar otras soluciones como esta: actualizar el ‘Campo de nombre de usuario’ de WooCommerce con ‘Nombre de facturación’ al momento del pago, pero eso tampoco funcionó para mí.
o intenté enlazar process_checkout pero nada funcionó.
Resolví el problema haciendo los cambios en email-order-details.php (plantilla de correo electrónico de woocommerce)
Agregué la siguiente línea después de: <?php if ( ! $sent_to_admin ) : ?>
en la línea 24.
<?php wp_update_user( array( 'ID' => (int)$order->user_id, 'first_name' => $order->billing_first_name, 'last_name' => $order->billing_last_name) ); ?>
Motivo: quería cambiar los valores después de realizar el pedido y dado que el correo electrónico se envía después de realizar el pedido, tenía sentido agregar esto