Hoy echamos un vistazo a la página de pago de WooCommerce y nuestro objetivo es no permitir la realización de un pedido a los clientes que ingresan una dirección de caja PO. No recuerdo de dónde obtuve este fragmento, ¡pero de cualquier manera me alegra compartirlo de nuevo!
Php Snippet: No permita el envío a PO Box @ WooCommerce Checkout
/** n*@snippet Disallow Shipping to PO BOX n*@how-to https://tdestudiodesign.com/tutoriales n*@author Tomás Lucas D´Amario, TD Estudio Design n*@testedwith WooCommerce 5 n*@community https://tdestudiodesign.com/club */ add_action( 'woocommerce_after_checkout_validation', 'tddesign_disallow_pobox_shipping' ); function tddesign_disallow_pobox_shipping( $posted ) { $address = ( isset( $posted['shipping_address_1'] ) ) ? $posted['shipping_address_1'] : $posted['billing_address_1']; $address2 = ( isset( $posted['shipping_address_2'] ) ) ? $posted['shipping_address_2'] : $posted['billing_address_2']; $postcode = ( isset( $posted['shipping_postcode'] ) ) ? $posted['shipping_postcode'] : $posted['billing_postcode']; $replace = array( " ", ".", "," ); $address = strtolower( str_replace( $replace, '', $address ) ); $address2 = strtolower( str_replace( $replace, '', $address2 ) ); $postcode = strtolower( str_replace( $replace, '', $postcode ) ); if ( strstr( $address, 'pobox' ) || strstr( $address2, 'pobox' ) || strstr( $postcode, 'pobox' ) ) { wc_add_notice( 'Sorry, we do not ship to PO BOX addresses.', 'error' ); } }