افزودن گزینه آیا این یک هدیه است در خرید محصول ووکامرس
بعضی از سایت ها چک باکسی در موقع ثبت سفارش دارند که از مشتری میخواهد که آیا این سفارشی که میدهید یک هدیه میباشد؟ اگر هدیه میباشد به ادرس شخص دیگری باید ارسال شود یا مدیر فروشگاه کادوپیچی خواهد کرد یا حرکت های جالب دیگر که با مدیر باید انجام دهد.
برای اضافه کردن گزینه آیا این یک هدیه است در فروشگاه ووکامرس کافیست کد زیر را در 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; }
نمونه کد :
سلام
چکار کنیم که در صفحات محصولات مجازی نمایش داده نشه ؟