WooCommerce: términos y condiciones por producto al finalizar la compra

Un cliente independiente vende dos productos distintos en el mismo sitio web: una membresía y un curso en línea. Dos audiencias diferentes, diferentes formatos y… diferentes Términos y Condiciones.
Por lo tanto, el objetivo era mostrar la casilla de verificación "Términos y condiciones" en la página de pago según el producto en el carrito. Una vez más, vamos a utilizar la lógica condicional . ¡Con eso, el fragmento es bastante fácil de codificar!

Fragmento de PHP: términos y condiciones por producto – WooCommerce Checkout
/** * @snippet Terms & Conditions by Product - WooCommerce Checkout * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @testedwith WooCommerce 3.6.5 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_action( 'woocommerce_review_order_before_submit' , 'bbloomer_add_checkout_per_product_terms' , 9 ); function bbloomer_add_checkout_per_product_terms() { // Show Terms 1 $product_id_1 = 522; $product_cart_id_1 = WC()->cart->generate_cart_id( $product_id_1 ); $in_cart_1 = WC()->cart->find_product_in_cart( $product_cart_id_1 ); if ( $in_cart_1 ) { ?> <p class = "form-row terms wc-terms-and-conditions" > <label class = "woocommerce-form__label woocommerce-form__label-for-checkbox checkbox" > <input type= "checkbox" class = "woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name= "terms-1" <?php checked( apply_filters( 'woocommerce_terms_is_checked_default' , isset( $_POST [ 'terms-1' ] ) ), true ); ?> id= "terms-1" > <span>I agree to <a href= "___" target= "_blank" >terms-1</a></span> <span class = "required" >*</span> </label> <input type= "hidden" name= "terms-1-field" value= "true" > </p> <?php } // Show Terms 2 $product_id_2 = 2152; $product_cart_id_2 = WC()->cart->generate_cart_id( $product_id_2 ); $in_cart_2 = WC()->cart->find_product_in_cart( $product_cart_id_2 ); if ( $in_cart_2 ) { ?> <p class = "form-row terms wc-terms-and-conditions" > <label class = "woocommerce-form__label woocommerce-form__label-for-checkbox checkbox" > <input type= "checkbox" class = "woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name= "terms-2" <?php checked( apply_filters( 'woocommerce_terms_is_checked_default' , isset( $_POST [ 'terms-2' ] ) ), true ); ?> id= "terms-2" > <span>I agree to <a href= "____" target= "_blank" >terms-2</a></span> <span class = "required" >*</span> </label> <input type= "hidden" name= "terms-2-field" value= "true" > </p> <?php } } // Show notice if customer does not tick either terms add_action( 'woocommerce_checkout_process' , 'bbloomer_not_approved_terms_1' ); add_action( 'woocommerce_checkout_process' , 'bbloomer_not_approved_terms_2' ); function bbloomer_not_approved_terms_1() { if ( $_POST [ 'terms-1-field' ] == true ) { if ( empty ( $_POST [ 'terms-1' ] ) ) { wc_add_notice( __( 'Please agree to terms-1' ), 'error' ); } } } function bbloomer_not_approved_terms_2() { if ( $_POST [ 'terms-2-field' ] == true ) { if ( empty ( $_POST [ 'terms-2' ] ) ) { wc_add_notice( __( 'Please agree to terms-2' ), 'error' ); } } } |
Subir
Deja una respuesta