در بسیاری از فروشگاههای اینترنتی، برخی محصولات نیاز به مشاوره قبل از خرید، استعلام موجودی یا بررسی تخصصی توسط مشتری دارند. در این شرایط، نمایش دکمه «افزودن به سبد خرید» برای کاربر مناسب نیست و بهتر است بهجای خرید مستقیم، امکان تماس با فروشنده فراهم شود. در این مقاله یک کد حرفهای و کاملاً سازگار با تمام قالبها و صفحهسازها ارائه میدهیم که با استفاده از آن میتوانید دکمه خرید ووکامرس را بهطور کامل حذف کرده و در عوض یک دکمه «تماس بگیرید» اختصاصی نمایش دهید.
این کد روی تمامی صفحات فروشگاه از جمله صفحه محصول (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);




