بصفتي مطور ووردبريس يتعامل يوميًا مع أصحاب متاجر ووكومرس، فإن المشاكل الأكبر التي تحدث في المتجر يكون سببها العملاء، إذ يشتكي الكثير من عملائي من وجود طلبات وهمية أو غير منطقية، بالإضافة إلى تراكم الطلبات الملغاة، وغير ذلك من المشاكل.
ولذلك في هذا المقال، سأشارككم حلول المشاكل الأكثر شيوعًا التي يتسبب بها العملاء، وأشرح كيف أحلها عادة باستخدام الإضافات أو أكواد بسيطة أضيفها إلى المتجر أو خيارات مدمجة في ووكومرس.
1. العميل يحجز المنتج ويختفي
العديد من أصحاب المتاجر يعانون من مشكلة نفاد المخزون دون وجود مبيعات فعلية، والسبب هو أن العميل يضيف منتجًا إلى السلة، ويصل إلى صفحة الدفع، لكنه لا يدفع ولا يشتري، وهذا يجعل ووكومرس يحجز الكمية لأن الطلب يصبح بانتظار الدفع، الأمر الذي يمنع عملاء آخرين جادين من شراء المنتج.
لحل هذه المشكلة، ليس هناك حاجة لاستخدام كود أو إضافة، إنما أستخدم إعدادًا بسيطًا يوفره ووكومرس ويغفل عنه الكثيرون، حيث أنتقل إلى WooCommerce > الإعدادات > المنتجات > المخزون، وأحدد عدد الدقائق التي ستحتجِز فيها الطلبات غير المدفوعة الكمية المحددة فيها من المخزون.

كما أنصح العملاء أيضًا بإنقاص هذا الوقت إلى 15 دقيقة أو 30 دقيقة في أوقات العروض لتحقيق مبيعات في وقت العرض بأقصى درجة ممكنة.
اقرأ أيضًا: ضبط إعدادات الشحن في متاجر ووكومرس
2. الطلبات الوهمية في الدفع عند الاستلام
تعد هذه المشكلة من أكثر المشاكل تسببًا بالخسائر المالية، خاصة بالنسبة لأصحاب المتاجر الذين يعتمدون على شركات شحن تأخذ رسومًا مسبقًا، حيث يطلب أشخاص عابثين أو حتى بوتات منتجات بأسماء وهمية ويختارون الدفع عند الاستلام، وعند إرسال المنتج لا يستلمه ولا يدفع أحد.
ولحل هذه المشكلة أستخدم إضافة miniOrange OTP Verification and SMS Notification for WooCommerce، حيث تسمح بتفعيل التحقق عبر إرسال رمز إلى البريد الإلكتروني في صفحة الدفع، وبحسب ما يريد المستخدم إما أستخدم الإصدار المدفوع إذا أراد حصر التحقق بالدفع عند الاستلام، أو الإصدار المجاني إذا لم يرد حصر الأمر بهذه الطريقة.
وللتفعيل بعد تنصيب الإضافة أنتقل إلى WC Notifications ثم أنقر على زر Login / Register.

بعد ذلك أدخل بياناتي لإنشاء حساب في النموذج الذي يظهر، وأنقر على زر Register.

وبعد ذلك أستكمل عملية إنشاء الحساب حتى تظهر بيانات الحساب.

ثم أنتقل إلى WC Notifications ثم Forms ثم أفعل خيار WooCommerce Checkout Form وأختار Email Verification.

وبهذا يظهر زر Send OTP أسفل حقل البريد الإلكتروني في صفحة الدفع، وعند النقر عليه تظهر رسالة توضح أنه تم إرسال رمز إلى البريد الإلكتروني، حيث يجب على العميل أن يدخل الرمز الذي وصله في حقل Enter OTP الذي يظهر بعد إرسال الرمز.

3. طلبات بكميات عالية جدًا
تواصل معي عميل يبيع منتجات حصرية في إحدى المرات، واشتكى أن منافسًا له يقوم بحجز كامل الكمية في طلب واحد لتعطيل بيعه، ولا يقوم بالدفع.
ولحل هذه المشكلة استخدمت كود بسيط أضفته إلى الموقع عبر إضافة Code Snippets، حيث يقوم بتحديد الحد الأقصى لكمية كل منتج في الطلب الواحد، وكان الكود على الشكل التالي:
// 1. تحديد الحد الأقصى في حقل الإدخال (شكلياً)
add_filter( 'woocommerce_quantity_input_args', 'limit_input_args', 10, 2 );
function limit_input_args( $args, $product ) {
$args['max_value'] = 5;
return $args;
}
// 2. التحقق الفعلي عند محاولة الإضافة للسلة (برمجياً)
add_filter( 'woocommerce_add_to_cart_validation', 'validate_max_qty', 10, 3 );
function validate_max_qty( $passed, $product_id, $quantity ) {
$max_allowed = 5; // الحد الأقصى المسموح به
$already_in_cart = 0;
// فحص السلة لمعرفة هل المنتج موجود مسبقاً وكم عدده
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
if ( $values['product_id'] == $product_id ) {
$already_in_cart = $values['quantity'];
break;
}
}
// المعادلة: الكمية في السلة + الكمية الجديدة
if ( ( $already_in_cart + $quantity ) > $max_allowed ) {
// رسالة الخطأ التي ستظهر للعميل
wc_add_notice( 'عذراً، الحد الأقصى المسموح به لهذا المنتج هو ' . $max_allowed . ' قطع فقط. لديك بالفعل ' . $already_in_cart . ' في السلة.', 'error' );
return false; // إلغاء العملية
}
return $passed;
}
// 3. التحقق عند تحديث الكمية داخل صفحة السلة نفسها
add_filter( 'woocommerce_update_cart_validation', 'validate_cart_update_qty', 10, 4 );
function validate_cart_update_qty( $passed, $cart_item_key, $values, $quantity ) {
$max_allowed = 5;
if ( $quantity > $max_allowed ) {
wc_add_notice( 'عذراً، لا يمكنك شراء أكثر من ' . $max_allowed . ' قطع من هذا المنتج.', 'error' );
return false;
}
return $passed;
}
حيث سيمنع هذا الكود من طلب أكثر من 5 قطع من كل منتج في الطلب الواحد، ما يحمي المتجر من استنزاف المخزون بطلبية واحدة.
4. تراكم الطلبات الملغاة
مع الوقت تتراكم الكثير من الطلبات بحالة الفشل والإلغاء في المتجر، وهذا يؤدي بطء شديد في لوحة تحكم والمتجر بسبب تضخم قاعدة البيانات، ويعيق بالطبع القدرة على إدارة المتجر بسلاسة.
ولحل هذه المشكلة أنشئ أولًا نسخة احتياطية من المتجر، ثم أستخدم إضافة Prune WooCommerce Orders لحذف الطلبات الملغاة والفاشلة، فبعد التنصيب والتفعيل أنتقل إلى WooCommerce > الحالة > أدوات، ثم أنقر على زر Trash Cancelled orders لحذف الطلبات الملغية، وعلى ز Trash Failed orders لحذف الطلبات الفاشلة.

اقرأ أيضًا: 3 طرق لتنظيف قاعدة بيانات ووردبريس لتسريع الموقع
5. خسارة المال في الطلبات الصغيرة
في بعض الأحيان تكون تكلفة التغليف أكبر من مربح الطلب إذا كان صغيرًا، أو حتى أكبر من سعر كامل الطلب. في هذه الحالة يطلب العميل قطعة واحدة رخيصة الثمن، ويتحمل صاحب المتجر تكاليف تشغيلية تفوق الربح.
ولحل هذه المشكلة أفرض حدًا أدنى لسعر الطلب الواحد، فإذا كانت قيمة مجموع السلة أقل من 50 ريالًا مثلًا يظهر تنبيه (عذرًا، الحد الأدنى للطلب هو 50 ريالًا. مجموع طلبك الحالي هو X)، ولا يعمل زر تقديم طلب، ولتنفيذ هذا الأمر أستخدم الكود التالي في المتجر:
// 1. التحقق عند الضغط على زر إتمام الطلب في صفحة الدفع
add_action( 'woocommerce_checkout_process', 'custom_min_order_check' );
// 2. التحقق أيضاً في صفحة السلة (قبل الذهاب للدفع)
add_action( 'woocommerce_check_cart_items', 'custom_min_order_check' );
function custom_min_order_check() {
// تحديد الحد الأدنى
$minimum = 50;
// استخدام get_cart_contents_total() للحصول على مجموع السلة الفعلي (بعد الخصومات)
// إذا كنت تريد المجموع النهائي مع الشحن استخدم WC()->cart->total
if ( WC()->cart->get_cart_contents_total() < $minimum ) {
if ( is_cart() ) {
// رسالة تظهر في صفحة السلة
wc_print_notice(
sprintf( 'عذرًا، الحد الأدنى للطلب هو %s ريالًا. مجموع طلبك الحالي هو %s', $minimum, WC()->cart->get_cart_contents_total() ),
'error'
);
} else {
// رسالة تظهر في صفحة الدفع وتوقف العملية
wc_add_notice(
sprintf( 'عذرًا، الحد الأدنى للطلب هو %s ريالًا. مجموع طلبك الحالي هو %s', $minimum, WC()->cart->get_cart_contents_total() ),
'error'
);
}
}
}
هذا التدخل البسيط يضمن أن المتجر سيربح من كافة الطلبات.
وفي الختام، فإن نجاح متجرك لا يعتمد فقط على جودة المنتجات، بل على إدارته بذكاء تقنيًا، وبتطبيق هذه الحلول والأكواد البسيطة، ستتمكن من حماية مخزونك من التلاعب، وتقليل الخسائر المالية، والحفاظ على سرعته، ما يضمن استقامتك على طريق النجاح.








اترك تعليقك