https://tdestudiodesign.com/wp-content/plugins/whatsapp/style.css

Ya hemos visto cómo Actualizar meta de usuario después de un pedido exitosopero esta vez nuestro objetivo es «corregir» o «editar» un valor de campo de pago después de realizar el pedido.

Por ejemplo, podría agregar un prefijo de número de teléfono si no está allí, y al hacerlo, corrija el número de teléfono antes de enviarlo a su mensajero. Del mismo modo, puede eliminar la puntuación, los espacios de recorte, los acentos de formato y hacer cualquier manipulación que desee en cualquier campo de orden.

Entonces, así es como lo hacen. ¡Disfrutar!

Aquí hay un orden de prueba donde el teléfono no se ha ingresado con el prefijo italiano (+39). El fragmento a continuación alterará este campo al pagar, y esta pantalla debe mostrar el número de teléfono junto con el código de país.

Php Snippet: alterar el valor del campo de pedido después de realizar un pedido @ WooCommerce Checkout

En este ejemplo, veremos cómo volver a formatear el número de teléfono ingresado durante el pago, agregando un prefijo si no está allí. Además, aprenderá sobre la práctica función get_country_calling_code () WooCommerce, ¡lo cual es bueno saber!

 /**  * @snippet       Update Order Meta After a Successful Order - WooCommerce  * @how-to        businessbloomer.com/woocommerce-customization  * @author        Rodolfo Melogli, Business Bloomer  * @compatible    WooCommerce 4.6  * @community     https://businessbloomer.com/club/  */  add_action( 'woocommerce_thankyou', 'bbloomer_alter_checkout_fields_after_order' );  function bbloomer_alter_checkout_fields_after_order( $order_id ) { $order = wc_get_order( $order_id ); $phone = $order->get_billing_phone(); $calling_code = WC()->countries->get_country_calling_code( $order->get_billing_country() ); $calling_code = is_array( $calling_code ) ? $calling_code[0] : $calling_code; if ( $phone && $calling_code && ! str_starts_with( $phone, $calling_code ) ) { // str_starts_with() works on PHP 8+ only $phone = $calling_code . $phone; update_post_meta( $order_id, '_billing_phone', $phone ); } } 

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.