روزها درگیر مصائب فنی، شبها مشغول ثبت راهحلهای یافتنی
حل مشکل کش سبد خرید در ووکامرس
مشکلی که در برخی سایتهای فروشگاهی وردپرس رخ میدهد اینست که کاربری برای اولین بار به یک سایت وارد میشود، ولی با سبد خرید فعالی روبرو میشود که یک یا چند آیتم در آن قرار دارد. ولی وقتی به صفحه سبد خرید رجوع میکند، خبری از محصول نیست.
این مشکل مشخصا به کش سبد خرید (Mini Cart) ارتباط دارد و برای اثباتش هم همین بس که به محض پاک کردن کش سایت، سبد خرید خالی و تعداد محصولات در آن صفر میشود؛ ولی مجددا بعد از مدتی دوباره سر و کله این مشکل پیدا میشود.
قبلا در این مطلب اشاره شد که ووکامرس اسکریپتی به نام wc-ajax=get_refreshed_fragments دارد که کارش بررسی و بروزرسانی محتویات سبد خرید به هنگام ورود کاربر به صفحات مختلف سایت است و گفته شد که میتوان این اسکریپت را روی صفحات بیارتباط به محصول (مثل درباره ما، تماس، مقالات وبلاگ و غیره) غیرفعال کرد تا هم سرعت لود سایت بهتر شود و هم امتیاز لود صفحه در ابزارهایی مثل جیتیمتریکس بالاتر برود.
اما حالا باید یک تبصره اضافه کنم و بگویم که اگر از افزونههاش کش سایت (مثل Litespeed cache یا WP Rocket و نظایر اینها) استفاده میکنید، این اسکریپت را غیرفعال نکنید.
پس برای حل مشکل کش سبد خرید، باید مجددا مطمئن شد که این اسکریپت فعال است و کار میکند. در نتیجه:
1- اگر برای غیرفعالسازی این اسکریپت از افزونه Disable Cart Fragments استفاده کردهاید، افزونه را غیر فعال کنید.
2- اگر برای غیرفعالسازی اسکریپت کدی را مشابه کد زیر به فایل توابع (functions.php) اضافه کردهاید، آن را حذف کنید.
/** Disable Ajax Call from WooCommerce */
function sert_dequeue_woocommerce_cart_fragments() {
wp_dequeue_script('wc-cart-fragments');
}
add_action( 'wp_enqueue_scripts', 'sert_dequeue_woocommerce_cart_fragments', PHP_INT_MAX);
3- اگر برای بهینهسازی سایت از افزونه WP Rocket استفاده میکنید، افزونه مکمل آن را به اسم Deactivate Woocommerce Refresh Cart Fragments Cache از این قسمت دانلود و نصب کنید.
4- اگر از سایر افزونههای بهینهسازی سایت استفاده میکنید که گزینه غیرفعالسازی Cart Fragments را دارند، تیک آن را بردارید.
بعد از انجام کار یکبار کش سایت را به طور کامل تخلیه و پاک کنید و مجددا سایت را با DevTools در مرورگر و GTMetrix بررسی کنید تا مطمئن بشوید که اسکریپت بالا کار میکند.
در این حالت مشکل حل شده و دیگر معضل کش سبد خرید تکرار نخواهد شد.
وندا نوژن
مطلبی دیگر از این انتشارات
10 راه طلایی شگفت انگیز برای افزایش امنیت وردپرس
مطلبی دیگر از این انتشارات
مهم ترین دلیل عقب ماندگی ما : آموزش و پرورش!
مطلبی دیگر از این انتشارات
فرآیند پذیرش من برای تدریس در هنرستان غیر انتفاعی کمال