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

Este es un gran fragmento de WooCommerce (o complemento, si desea llamarlo así) para aquellos que desean proporcionar tarifas de pago condicionales. Por ejemplo, es posible que deba mostrar botones de radio de pago personalizados para Elija tipos de embalaje premium, opciones de envoltura de regalos, servicios específicos O lo que sea que pueda aumentar su AOV (valor promedio de pedido).

La selección de botones de radio debe funcionar con «AJAX», lo que significa que tan pronto como se elige el botón de radio, el pago debe actualizar para mostrar las tarifas y los totales actualizados.

Algo similar (y también más complejo, como ofrecer productos adicionales) se logra por el Complemento de complementos de checkout wooCommerce Vendido en el mercado oficial de WooCommerce.com. Pero en este caso, queremos echar un vistazo a la codificación personalizada para que tenga algo con lo que jugar. Disfrutar.

Agregue una tarifa dinámica para el pago de WooCommerce basado en la elección de botón de radio personalizado

Php Snippet: agregue una tarifa dinámica basada en botones de radio personalizados @ WooCommerce Checkout

 /**  * @snippet       Dynamic Fee @ WooCommerce Checkout  * @how-to        businessbloomer.com/woocommerce-customization  * @author        Rodolfo Melogli, Business Bloomer  * @testedwith    WooCommerce 3.9  * @community     https://businessbloomer.com/club/  */  // Part 1  // Display Radio Buttons   add_action( 'woocommerce_review_order_before_payment', 'bbloomer_checkout_radio_choice' );   function bbloomer_checkout_radio_choice() {         $chosen = WC()->session->get( 'radio_chosen' );    $chosen = empty( $chosen ) ? WC()->checkout->get_value( 'radio_choice' ) : $chosen;    $chosen = empty( $chosen ) ? '0' : $chosen;            $args = array(    'type' => 'radio',    'class' => array( 'form-row-wide', 'update_totals_on_change' ),    'options' => array(       '0' => 'No Option',       '10' => 'Option 1 ($10)',       '30' => 'Option 2 ($30)',    ),    'default' => $chosen    );         echo '
'; echo '

Customize Your Order!

'; woocommerce_form_field( 'radio_choice', $args, $chosen ); echo '
'; } // Part 2 // Add Fee and Calculate Total add_action( 'woocommerce_cart_calculate_fees', 'bbloomer_checkout_radio_choice_fee', 20, 1 ); function bbloomer_checkout_radio_choice_fee( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; $radio = WC()->session->get( 'radio_chosen' ); if ( $radio ) { $cart->add_fee( 'Option Fee', $radio ); } } // Part 3 // Add Radio Choice to Session add_action( 'woocommerce_checkout_update_order_review', 'bbloomer_checkout_radio_choice_set_session' ); function bbloomer_checkout_radio_choice_set_session( $posted_data ) { parse_str( $posted_data, $output ); if ( isset( $output['radio_choice'] ) ){ WC()->session->set( 'radio_chosen', $output['radio_choice'] ); } }

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *