
هذا الكود يقوم بتغيير زر الطلب في WooCommerce عندما يكون إجمالي قيمة السلة أقل من قيمة شحن المدينة المحددة. دعونا نلقي نظرة على الشفرة:
كود تغيير زر الطلب في WooCommerce
// استبدال زر طلب المنتج عندما يكون إجمالي الطلب أقل من قيمة شحن المدينة
add_filter( 'woocommerce_order_button_html', 'replace_order_button_html', 10, 2 );
function replace_order_button_html( $order_button ) {
// التحقق من قيمة إجمالية السلة.
if( WC()->cart->total > 700 ) {
// إرجاع زر الطلب الأصلي.
return $order_button;
} else {
// عرض رسالة تنبيه باستخدام الدالة display_alert.
display_alert('لم يتم الوصول لأقل تكلفة للطلب 700 ريال قم بمتابعة التسوق');
// الجزء الباقي من الشفرة يظل كما هو كما كان من قبل.
}
}
// عرض الإنذار باستخدام النص المعطى.
function display_alert($message) {
echo '<script type="text/javascript">';
echo "alert('$message');";
echo 'window.location.href = "/shop";';
echo '</script>';
}
هذا الكود يستبدل زر طلب المنتج في WooCommerce بزر آخر ويعرض رسالة تنبيه إذا كان إجمالي قيمة الطلب أقل من 700 ريال، ثم يعيد المستخدم إلى صفحة المتجر لمتابعة التسوق.
تعديل زر الطلب بناءً على قيمة السلة
يتم استبدال زر الطلب الأصلي عندما يكون إجمالي السلة أقل من الحد المحدد. يستخدم الفلتر woocommerce_order_button_html لتغيير مظهر الزر أو استبداله بالكامل.
في الشيفرة نتحقق من قيمة WC()->cart->total؛ إذا كانت أكبر من 700 ريال يتم إرجاع الزر الأصلي. أما إذا كانت أقل، يتم تنفيذ الكود البديل.
يمكنك تعديل القيمة 700 لتناسب سياسات الشحن الخاصة بمتجرك بسهولة عبر تعديل الشرط داخل الدالة.
إظهار تنبيه وإعادة توجيه العميل
عند عدم تحقيق الحد الأدنى، يتم استدعاء الدالة display_alert التي تعرض رسالة تنبيه باستخدام JavaScript. الرسالة توضح للعميل أن الطلب لم يصل للحد الأدنى المطلوب.
بعد إظهار التنبيه، يتم توجيه العميل تلقائيًا إلى صفحة المتجر (/shop) لاستكمال التسوق. هذا يضمن بقاء العميل داخل الموقع بدلاً من تركه.
يمكنك تخصيص نص الرسالة أو رابط إعادة التوجيه لتتناسب مع هيكل موقعك عبر تعديل المتغير $message أو عنوان URL داخل الدالة.
أسئلة شائعة
كيف أغير قيمة الحد الأدنى للطلب؟
قم بتعديل الرقم 700 في الشرط if( WC()->cart->total > 700 ) إلى القيمة المطلوبة.
هل يمكن تغيير نص التنبيه؟
نعم، عدل النص داخل استدعاء display_alert('…') إلى الرسالة التي تريدها.
هل يمكن توجيه العميل إلى صفحة مختلفة غير /shop؟
نعم، غيّر عنوان URL في الدالة display_alert داخل window.location.href إلى الصفحة المطلوبة.
هل الشيفرة تعمل مع جميع قوالب WooCommerce؟
تعمل الشيفرة مع القوالب التي تستخدم الفلتر woocommerce_order_button_html، لكن قد تحتاج لتعديل بسيط إذا كان القالب يغير طريقة عرض الزر.
