Como solicita el fragmento de WooCommerce de Miembros del club de floración de negocios Sigue llegando a nuestro canal privado Slack, es hora de publicar una personalización muy útil.
Hoy, veremos cómo negar la compra de una dirección de correo electrónico de facturación dada, ¡si tal cliente ya tiene un pedido pendiente!
Php Snippet: Denegar la pago si el usuario tiene pedidos pendientes | WooCommerce
/** * @snippet Deny Checkout If User Has Pending Orders | WooCommerce * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @testedwith WooCommerce 9 * @community https://businessbloomer.com/club/ */ add_action( 'woocommerce_after_checkout_validation', 'bbloomer_deny_checkout_user_pending_orders', 9999, 2 ); function bbloomer_deny_checkout_user_pending_orders( $data, $errors ) { $checkout_email = $data['billing_email']; $user = get_user_by( 'email', $checkout_email ); if ( $user ) { $orders = wc_get_orders( [ 'status' => array( 'wc-pending' ), 'limit' => -1, 'return' => 'ids', 'customer' => $checkout_email, ] ); if ( $orders ) { $errors->add( 'pending', 'Please log into your account to settle any pending orders before proceeding.' ); } } }