Esta es una función muy específica. A veces, debe «establecer» un valor de campo de pago al crear el pedido (porque no era obligatorio y se dejó vacío, por ejemplo). En algunos otros casos, es posible que desee anular lo que ingresa el cliente si tiene ciertos requisitos.
De cualquier manera, anular los campos de pago en la creación de pedidos es muy fácil. Así es como se hace: ¡disfrútalo!

Fragmento de PHP: establezca y guarde un campo de pago programáticamente al crear el pedido
La función “ $order->set_$key( $value ) ” viene al rescate. Simplemente concatene con la clave de campo de envío/facturación para decirle al sistema a qué clave debe apuntar. $value define el valor en el que debe establecer esta clave.
En el siguiente ejemplo, estoy configurando «billing_city» en «Singapur» en caso de que «Singapur» sea el «billing_country». Cambie «billing_city» a cualquier otra clave para configurar esa clave específica.
/** * @snippet Set checkout billing / shipping field - WooCommerce Order * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @compatible WooCommerce 3.5.7 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_action( 'woocommerce_checkout_create_order' , 'bbloomer_set_singapore_city' , 9999, 2 ); function bbloomer_set_singapore_city( $order , $data ) { if ( $data [ 'billing_country' ] === 'SG' ) $order ->set_billing_city( 'Singapore' ); } |
Deja una respuesta