افزودن گزینه آیا این یک هدیه است در خرید محصول ووکامرس

افزودن گزینه آیا این یک هدیه است در خرید محصول ووکامرس

افزودن گزینه آیا این یک هدیه است در خرید محصول ووکامرس

بعضی از سایت ها چک باکسی در موقع ثبت سفارش دارند که از مشتری میخواهد که آیا این سفارشی که میدهید یک هدیه میباشد؟ اگر هدیه میباشد به ادرس شخص دیگری باید ارسال شود یا مدیر فروشگاه کادوپیچی خواهد کرد یا حرکت های جالب دیگر که با مدیر باید انجام دهد.

برای اضافه کردن گزینه آیا این یک هدیه است در فروشگاه ووکامرس کافیست کد زیر را در functions.php قرار دهید

// 1. Display Is this a Gift checkbox 
  
add_action( 'woocommerce_before_add_to_cart_quantity', 'a4fran3_is_this_gift_add_cart', 35 );
  
function a4fran3_is_this_gift_add_cart() {
         
        ?>
 
        <p class="">
        <label class="checkbox">
        <input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="is-gift" id="is-gift" value="Yes"><span>Is this a gift?</span>
        </label>
        </p>
 
        <?php
 
}
  
// -------------------------
//a4fran3 : 2. Add the custom field to $cart_item
  
add_filter( 'woocommerce_add_cart_item_data', 'a4fran3_store_gift', 10, 2 );
  
function a4fran3_store_gift( $cart_item, $product_id ) {
if( isset( $_POST['is-gift'] ) && $_POST['is-gift'] == "Yes" ) {
    $cart_item['is-gift'] = $_POST['is-gift'];
}
return $cart_item; 
}
  
// -------------------------
//a4fran3 : 3. Preserve the custom field in the session
  
add_filter( 'woocommerce_get_cart_item_from_session', 'a4fran3_get_cart_items_from_session', 10, 2 );
  
function a4fran3_get_cart_items_from_session( $cart_item, $values ) {
if ( isset( $values['is-gift'] ) ){
    $cart_item['is-gift'] = $values['is-gift'];
}
return $cart_item;
}
  
// -------------------------
// 4. If gift in cart, edit checkout behavior:
// a) open shipping by default
// b) rename shipping title
  
add_action ( 'woocommerce_before_checkout_form', 'a4fran3_gift_checkout' );
 
function a4fran3_gift_checkout() {
     
    $itsagift = false;
     
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        if ( isset( $cart_item['is-gift'] ) ) {
            $itsagift = true;
            break;
        }
    }
     
    if ( $itsagift == true ) {
        add_filter( 'woocommerce_ship_to_different_address_checked', '__return_true' );
        add_filter( 'gettext', 'a4fran3_translate_shipping_gift' );
    }
     
}
 
function a4fran3_translate_shipping_gift( $translated ) {
$translated = str_ireplace( 'Ship to a different address?', 'Who is this Gift For?', $translated );
return $translated;
}

نمونه کد :

گزینه آیا این یک هدیه است

لینک کوتاه:

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

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

مطالب مشابه