نمایش قوانین و مقرارت جداگانه برای هر محصول در ووکامرس

نمایش قوانین و مقرارت جداگانه برای هر محصول در ووکامرس

نمایش قوانین و مقرارت جداگانه برای هر محصول در ووکامرس

گاهی اوقات لازم است قوانین و مقرارت مربوط به هر محصول در صفحه پرداخت ووکامرس نمایش دهیم. در اینجا باید از دستورات شرطی استفاده کنیم.

کافیست کد زیر را در functions.php قرار دهید

add_action( 'woocommerce_review_order_before_submit', 'a4fran3_add_checkout_per_product_terms', 9 );
   
function a4fran3_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', 'a4fran3_not_approved_terms_1' );
add_action( 'woocommerce_checkout_process', 'a4fran3_not_approved_terms_2' );
  
function a4fran3_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 a4fran3_not_approved_terms_2() {
    if ( $_POST['terms-2-field'] == true ) {
        if ( empty( $_POST['terms-2'] ) ) {
            wc_add_notice( __( 'Please agree to terms-2' ), 'error' );          
        }
    }
}

کافیست در کد بالا آیدی محصول مورد نظر خود را قرار دهید.

نتیجه کد بالا :

قوانین و مقرارت جداگانه

لینک کوتاه:

https://a4fran3.ir/?p=17732

guest
0 نظر
Inline Feedbacks
مشاهده همه نظرات

مطالب مشابه