Esta es una función muy específica. A veces, debe «establecer» un valor de campo de pago en la creación de pedidos (porque no fue requerido y se fue vacío, por ejemplo). En algunos otros casos, es posible que desee anular lo que el cliente ingresa 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, ¡disfruta!
Php Snippet: Establezca y guarde un campo de pago mediante la creación de pedidos
El «$ orden-> set_ $ key ($ valor)La función llega al rescate. Simplemente concatenelo con la clave de campo de envío/facturación para decirle al sistema qué clave debe apuntar. $ valor define el valor al que debe establecer esta clave.
En el siguiente ejemplo, estoy estableciendo el «Billing_City» en «Singapur» en el caso de que «Singapur» sea el «Billing_country». Cambie «Billing_City» a cualquier otra clave para establecer esa clave específica.
/** * @snippet Set checkout billing / shipping field - WooCommerce Order * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @compatible WooCommerce 3.5.7 * @community https://businessbloomer.com/club/ */ 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' ); }