اضافه کردن گزینه بسته‌بندی هدیه به صفحه پرداخت ووکامرس

اضافه کردن گزینه بسته‌بندی هدیه به صفحه پرداخت ووکامرس

در دنیای فروش آنلاین، جزییات کوچک می‌تونن تاثیر بزرگی داشته باشن.
یکی از همین جزییات ساده اما مهم، ارائه گزینه «بسته‌بندی هدیه» در مراحل خرید است.

بسیاری از کاربران دوست دارند محصولی که سفارش می‌دهند، به‌صورت کادویی برای کسی ارسال شود — اما در بسیاری از فروشگاه‌های ووکامرس، چنین امکانی وجود ندارد!

اضافه کردن گزینه بسته‌بندی هدیه به صفحه پرداخت ووکامرس

مشکل کجاست؟

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


راه‌حل حرفه‌ای

ما یک قطعه کد حرفه‌ای برای ووکامرس طراحی کرده‌ایم که:

به صفحه پرداخت شما، یک چک‌باکس اضافه می‌کند. عنوان آن می‌تواند باشد:
«مایل هستید محصول به صورت کادویی ارسال شود؟»

هزینه این گزینه قابل تنظیم است (مثلاً ۲۰ هزار تومان)


مزایای استفاده از این ویژگی

🎁 رضایت بیشتر مشتریان

💰 درآمد جانبی بدون نیاز به تغییر محصول

🛍 افزایش حرفه‌ای بودن تجربه خرید

📋 امکان مشاهده انتخاب مشتری در صفحه سفارشات

// 1. نمایش چک‌باکس بسته‌بندی هدیه در صفحه تسویه‌حساب
add_action('woocommerce_review_order_before_submit', 'tav_gift_wrap_option');
function tav_gift_wrap_option() {
    ?>
    <div id="gift_wrap_checkbox" style="margin-bottom: 15px;">
        <label>
            <input type="checkbox" class="input-checkbox" name="gift_wrap" id="gift_wrap" value="1" />
            مایل هستید محصول به صورت کادویی ارسال شود؟ (۲۰,۰۰۰ تومان)
        </label>
    </div>
    <?php
}

// 2. افزودن هزینه بسته‌بندی هدیه به سبد خرید به‌صورت ایجکس
add_action('woocommerce_cart_calculate_fees', 'tav_add_gift_wrap_fee', 20, 1);
function tav_add_gift_wrap_fee($cart) {
    if (is_admin() && !defined('DOING_AJAX')) return;

    // بررسی مقدار gift_wrap در فرم ایجکس
    $is_gift_wrap = false;

    if (isset($_POST['post_data'])) {
        parse_str($_POST['post_data'], $parsed_data);
        if (!empty($parsed_data['gift_wrap'])) {
            $is_gift_wrap = true;
        }
    } elseif (!empty($_POST['gift_wrap'])) {
        $is_gift_wrap = true;
    }

    // اعمال هزینه در سبد خرید
    if ($is_gift_wrap) {
        $cart->add_fee('هزینه بسته‌بندی هدیه', 20000);
    }
}

// 3. اجرای ایجکس هنگام زدن یا برداشتن تیک بسته‌بندی هدیه
add_action('woocommerce_after_checkout_form', 'tav_gift_wrap_script');
function tav_gift_wrap_script() {
    ?>
    <script type="text/javascript">
        jQuery(function($){
            $('form.checkout').on('change', '#gift_wrap', function(){
                $('body').trigger('update_checkout');
            });
        });
    </script>
    <?php
}

// 4. ذخیره اطلاعات gift_wrap در سفارش
add_action('woocommerce_checkout_create_order', 'tav_save_gift_wrap_option', 10, 2);
function tav_save_gift_wrap_option($order, $data) {
    if (isset($_POST['gift_wrap']) && $_POST['gift_wrap'] == '1') {
        $order->update_meta_data('gift_wrap', 'بله، بسته‌بندی هدیه انتخاب شده است.');
    }
}

// 5. نمایش gift_wrap در پنل ادمین سفارش
add_action('woocommerce_admin_order_data_after_billing_address', 'tav_display_gift_wrap_in_admin', 10, 1);
function tav_display_gift_wrap_in_admin($order){
    $gift_wrap = $order->get_meta('gift_wrap');
    if ($gift_wrap) {
        echo '<p><strong>بسته‌بندی هدیه:</strong> ' . esc_html($gift_wrap) . '</p>';
    }
}

// 6. نمایش gift_wrap در صفحه جزئیات سفارش برای مشتری
add_action('woocommerce_order_details_after_order_table', 'tav_display_gift_wrap_on_order_details');
function tav_display_gift_wrap_on_order_details($order) {
    $gift_wrap = $order->get_meta('gift_wrap');
    if ($gift_wrap) {
        echo '<p><strong>بسته‌بندی هدیه:</strong> ' . esc_html($gift_wrap) . '</p>';
    }
}

اشتراک گذاری

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بقیه مقالات
با این کد حرفه‌ای، دکمه افزودن به سبد خرید ووکامرس را از صفحه محصول و آرشیو حذف کنید و یک دکمه «تماس بگیرید» جایگزین آن قرار دهید. مناسب محصولات مشاوره‌ای و استعلام قیمت.
با این اسنیپت حرفه‌ای ووکامرس، در صورت ناموجود بودن محصول یا تمام متغیرهای آن، قیمت به‌طور خودکار با متن «ناموجود» جایگزین می‌شود. راهکاری برای تجربه کاربری بهتر و جلوگیری از نمایش قیمت‌های اشتباه.
با این کد ساده، گالری‌های المنتور را به یک اسکرول افقی بی‌نهایت تبدیل کنید. سبک، واکنش‌گرا، بدون افزونه و مناسب برای نمایش حرفه‌ای تصاویر.
ثبت مشاوره یا پلاگین
تماس با ما
واتساپ تلگرام اینستاگرام ارسال تیکت