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

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

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

اگر قصد دارید برای هر محصول خود یک نمونه رایگان قرار دهید تا مشتری ها بتوانند تست نمایند ، آموزش زیر را مطالعه کنید

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

یک محصول نمونه جدید دقیقا با نام “نمونه رایگان” ایجاد کنیم.

الزامات:

عنوان: “نمونه رایگان”

قیمت: صفر

قابلیت مشاهده کاتولوگ: “پنهان”

فهرست موجودی: “فروخته شده به صورت تکی”

 

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

// -------------------------
// 1. Display Free Sample Add to Cart 
// Note: change "12345" with Free Sample ID
 
add_action( 'woocommerce_single_product_summary', 'a4fran3_add_free_sample_add_cart', 35 );
 
function a4fran3_add_free_sample_add_cart() {
?>
 
<form class="cart" method="post" enctype='multipart/form-data'>
<button type="submit" name="add-to-cart" value="12345" class="single_add_to_cart_button button alt">Order a Free Sample</button>
<input type="hidden" name="free_sample" value="<?php the_ID(); ?>">
</form>
 
<?php
}
 
// -------------------------
// 2. Add the custom field to $cart_item
 
add_filter( 'woocommerce_add_cart_item_data', 'a4fran3_store_free_sample_id', 10, 2 );
 
function a4fran3_store_free_sample_id( $cart_item, $product_id ) {
if( isset( $_POST['free_sample'] ) ) {
        $cart_item['free_sample'] = $_POST['free_sample'];
}
return $cart_item; 
}
 
// -------------------------
// 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['free_sample'] ) ){
        $cart_item['free_sample'] = $values['free_sample'];
}
return $cart_item;
}
 
// -------------------------
// 4. Concatenate "Free Sample" with product name (CART & CHECKOUT)
 
add_filter( 'woocommerce_cart_item_name', 'a4fran3_alter_cart_item_name', 10, 3 );
 
function a4fran3_alter_cart_item_name( $product_name, $cart_item, $cart_item_key ) {
if ( $product_name == "Free Sample" ) {
$product = wc_get_product( $cart_item["free_sample"] );
$product_name .=  " (" . $product->get_name() . ")";
}
return $product_name;
}
 
// -------------------------
//a4fran3.ir:  5. Add "Free Sample" product name to order meta
// Note: this will show on thank you page, emails and orders
 
add_action('woocommerce_add_order_item_meta','a4fran3_save_posted_field_into_order', 10, 2);
 
function a4fran3_save_posted_field_into_order( $itemID, $values ) {
    if ( !empty( $values['free_sample'] )) {
        $product = wc_get_product( $values['free_sample'] );
        $product_name .=  " (" . $product->get_name() . ")";
        wc_add_order_item_meta( $itemID, 'Free sample for', $product_name );
    }
}

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

سفارش نمونه رایگان

لینک کوتاه:

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

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

مطالب مشابه