افزودن هدیه خودکار به سبد خرید ووکامرس!

اگر می‌خواهید به مشتریان خود تجربه خرید بهتری ارائه دهید و انگیزه‌ای برای خرید بیشتر ایجاد کنید، افزودن هدیه خودکار به سبد خرید ووکامرس می‌تواند یک راهکار عالی باشد. در این مقاله، نحوه انجام این کار را با استفاده از کدهای PHP بررسی خواهیم کرد.

آنچه در این مطلب می خوانید

اگر می‌خواهید به مشتریان خود تجربه خرید بهتری ارائه دهید و انگیزه‌ای برای خرید بیشتر ایجاد کنید، افزودن هدیه خودکار به سبد خرید ووکامرس می‌تواند یک راهکار عالی باشد. در این مقاله، نحوه انجام این کار را با استفاده از کدهای PHP بررسی خواهیم کرد.

چرا هدیه خودکار؟

هدیه دادن به مشتریان نه تنها احساس رضایت و خوشحالی را به آنها منتقل می‌کند، بلکه آنها را ترغیب به خرید بیشتر و بازگشت به فروشگاه شما می‌کند. این استراتژی بازاریابی می‌تواند فروش شما را افزایش دهد و مشتریان وفاداری برای کسب و کار شما به ارمغان بیاورد.

مراحل افزودن هدیه خودکار به سبد خرید ووکامرس

در این راهنما، شما خواهید آموخت که چگونه یک محصول هدیه به سبد خرید مشتریان خود اضافه کنید، بدون اینکه آنها نیاز به انجام کار اضافی داشته باشند. این روش می‌تواند به خصوص در خدمات طراحی سایت که نیاز به جذب و نگهداشت مشتریان دارد، بسیار مفید باشد.

1. افزودن کد به فایل functions.php

ابتدا باید کد زیر را به فایل functions.php قالب وردپرس خود اضافه کنید. این کد بررسی می‌کند که اگر مجموع خرید مشتریان بیشتر از یک مقدار مشخص باشد، یک محصول هدیه به سبد خرید آنها اضافه شود.

// افزودن محصول هدیه به سبد خرید
function add_random_gift_product_to_cart() {
    if ( is_admin() ) {
        return;
    }

    // تنظیمات
    $category_slug = 'accessories'; // اسلاگ دسته لوازم جانبی
    $maximum_price = 500000; // حداکثر قیمت محصول هدیه به تومان
    $minimum_amount = 5000000; // حداقل مبلغ خرید به تومان

    // محاسبه مبلغ خرید بدون احتساب هزینه‌های حمل و نقل و مالیات
    $cart_total = WC()->cart->subtotal_ex_tax;

    // بررسی اینکه آیا مبلغ خرید بیش از 5 میلیون تومان است
    if ( $cart_total >= $minimum_amount ) {
        // بررسی اینکه آیا محصول هدیه قبلاً در سبد خرید موجود است
        $gift_already_in_cart = false;

        foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
            $product_id = $cart_item['product_id'];
            $product = wc_get_product($product_id);
            $product_categories = wp_get_post_terms($product_id, 'product_cat', array("fields" => "slugs"));

            if ( in_array( $category_slug, $product_categories ) && $product->get_price() <= $maximum_price && isset( $cart_item['is_gift'] ) && $cart_item['is_gift'] ) {
                $gift_already_in_cart = true;
                break;
            }
        }

        if ( !$gift_already_in_cart ) {
            // دریافت محصولات از دسته لوازم جانبی با قیمت کمتر از 500 هزار تومان
            $args = array(
                'post_type' => 'product',
                'posts_per_page' => -1,
                'tax_query' => array(
                    array(
                        'taxonomy' => 'product_cat',
                        'field'    => 'slug',
                        'terms'    => $category_slug,
                    ),
                ),
                'meta_query' => array(
                    array(
                        'key'     => '_price',
                        'value'   => $maximum_price,
                        'compare' => '<=',
                        'type'    => 'NUMERIC',
                    ),
                ),
            );

            $products = get_posts( $args );

            if ( ! empty( $products ) ) {
                // انتخاب یک محصول تصادفی
                $random_product = $products[array_rand($products)];
                $gift_product_id = $random_product->ID;

                // اگر محصول هدیه در سبد خرید موجود نیست، آن را اضافه کنید
                WC()->cart->add_to_cart( $gift_product_id, 1, '', array(), array( 'is_gift' => true ) );
            }
        }
    } else {
        // اگر مبلغ خرید کمتر از 5 میلیون تومان است، محصول هدیه را از سبد خرید حذف کنید
        foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
            if ( isset( $cart_item['is_gift'] ) && $cart_item['is_gift'] ) {
                WC()->cart->remove_cart_item( $cart_item_key );
            }
        }
    }
}
add_action( 'template_redirect', 'add_random_gift_product_to_cart' );

// نمایش متن "هدیه" در سبد خرید و ویجت سبد خرید
function display_gift_text_in_cart( $product_name, $cart_item, $cart_item_key ) {
    if ( isset( $cart_item['is_gift'] ) && $cart_item['is_gift'] ) {
        return $product_name . ' - هدیه';
    }
    return $product_name;
}
add_filter( 'woocommerce_cart_item_name', 'display_gift_text_in_cart', 10, 3 );
add_filter( 'woocommerce_widget_cart_item_name', 'display_gift_text_in_cart', 10, 3 );

// پنهان کردن قیمت محصول هدیه در سبد خرید و ویجت سبد خرید
function hide_gift_product_price_in_cart( $price, $cart_item, $cart_item_key ) {
    if ( isset( $cart_item['is_gift'] ) && $cart_item['is_gift'] ) {
        return 'هدیه';
    }
    return $price;
}
add_filter( 'woocommerce_cart_item_price', 'hide_gift_product_price_in_cart', 10, 3 );
add_filter( 'woocommerce_cart_item_subtotal', 'hide_gift_product_price_in_cart', 10, 3 );
add_filter( 'woocommerce_widget_cart_item_quantity', 'hide_gift_product_price_in_cart', 10, 3 );

// حذف قیمت محصول هدیه از محاسبه سبد خرید
function adjust_cart_total_for_gift( $cart_object ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
        return;
    }

    foreach ( $cart_object->get_cart() as $cart_item_key => $cart_item ) {
        if ( isset( $cart_item['is_gift'] ) && $cart_item['is_gift'] ) {
            $cart_item['data']->set_price( 0 );
        }
    }
}
add_action( 'woocommerce_before_calculate_totals', 'adjust_cart_total_for_gift', 10, 1 );

// جلوگیری از تغییر تعداد محصول هدیه
function disable_quantity_input_for_gift( $product_quantity, $cart_item_key, $cart_item ) {
    if ( isset( $cart_item['is_gift'] ) && $cart_item['is_gift'] ) {
        return '1';
    }
    return $product_quantity;
}
add_filter( 'woocommerce_cart_item_quantity', 'disable_quantity_input_for_gift', 10, 3 );

توضیحات کد :

  • افزودن محصول هدیه به سبد خرید: این تابع بررسی می‌کند که آیا مبلغ خرید بیشتر از 5 میلیون تومان است یا نه. اگر بله، یک محصول تصادفی از دسته لوازم جانبی که قیمت آن کمتر از 500 هزار تومان است به سبد خرید اضافه می‌شود.
  • نمایش متن “هدیه” در سبد خرید: این فیلترها باعث می‌شوند که در سبد خرید و ویجت سبد خرید، متن “هدیه” به نام محصول اضافه شود.
  • پنهان کردن قیمت محصول هدیه: این فیلترها قیمت محصول هدیه را در سبد خرید و ویجت سبد خرید به صورت “هدیه” نمایش می‌دهند.
  • حذف قیمت محصول هدیه از محاسبه سبد خرید: این تابع قیمت محصول هدیه را از محاسبات سبد خرید حذف می‌کند.
  • جلوگیری از تغییر تعداد محصول هدیه: این فیلتر باعث می‌شود که تعداد محصول هدیه در سبد خرید قابل تغییر نباشد.

نتیجه‌گیری

افزودن هدیه خودکار به سبد خرید ووکامرس می‌تواند یک استراتژی موثر برای افزایش فروش و رضایت مشتریان باشد. با استفاده از کدهای فوق، شما می‌توانید این قابلیت را به فروشگاه خود اضافه کنید و تجربه خرید بهتری برای مشتریان خود ایجاد کنید. این روش می‌تواند در خدمات طراحی سایت و دیگر کسب و کارهای آنلاین بسیار مفید باشد.

 

اشتراک گذاری:

2 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

دیدگاهتان را بنویسید

سایر مقالات