حذف دکمه افزودن به سبد خرید ووکامرس و جایگزینی با دکمه «تماس بگیرید»

woocommerce-remove-add-to-cart-add-call

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

این کد روی تمامی صفحات فروشگاه از جمله صفحه محصول (Single Product) و صفحات آرشیو مانند Shop، Category، Tag و Search عمل می‌کند. برخلاف بسیاری از اسنیپت‌ها که فقط روی قالب‌های استاندارد جواب می‌دهند، این نسخه با تمامی قالب‌های محبوب مانند Woodmart، Flatsome، Astra، Block Theme و همچنین صفحه‌سازهایی مثل Elementor و JetWooBuilder سازگار است و حتی در صورت وجود overrideهای قالب نیز دکمه خرید را به‌طور کامل حذف می‌کند.


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

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

/*******************************************
* Author: TavTheme
* Website: https://tavtheme.com/
* Instagram: @tavtheme
 * حذف کامل دکمه خرید در سینگل + آرشیو
 * و نمایش دکمه تماس
 *******************************************/

// حذف استاندارد دکمه خرید از آرشیوها
add_action('wp', function() {

    // صفحات آرشیو
    if (is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy()) {

        // حذف دکمه استاندارد
        remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);
        remove_action('woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 10);

        // حذف هر نوع دکمه‌ای که قالب اضافه کند
        remove_all_actions('woocommerce_after_shop_loop_item', 10);
        remove_all_actions('woocommerce_after_shop_loop_item_title', 10);
    }

    // صفحه سینگل محصول
    if (is_product()) {

        // حذف دکمه خرید استاندارد
        remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);

        // حذف overrideهای قالب
        remove_all_actions('woocommerce_single_product_summary', 30);
    }
});



/*******************************************
 * حذف کامل فرم خرید در HTML سینگل (فرم.cart)
 *******************************************/
add_action('woocommerce_single_product_summary', function() {
    ob_start();
}, 1);

add_action('woocommerce_single_product_summary', function() {
    $html = ob_get_clean();

    // حذف کامل فرم خرید
    $html = preg_replace('/<form[^>]*class="[^"]*cart[^"]*"[^>]*>[\s\S]*?<\/form>/i', '', $html);

    echo $html;
}, 9999);



/*******************************************
 * افزودن دکمه تماس در سینگل
 *******************************************/
add_action('woocommerce_single_product_summary', function() {
    echo '<a href="tel:09120000000" class="button alt" 
    style="background:#d9534f;color:#fff;display:block;text-align:center;
    padding:12px;font-size:18px;margin-top:15px;">
    تماس بگیرید
    </a>';
}, 10000);



/*******************************************
 * افزودن دکمه تماس در آرشیو
 *******************************************/
add_action('woocommerce_after_shop_loop_item', function() {
    echo '<a href="tel:09120000000" class="button alt"
    style="background:#d9534f;color:#fff;display:block;text-align:center;
    padding:8px;margin-top:8px;">
    تماس بگیرید
    </a>';
}, 20);

اشتراک گذاری

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

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

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