هل ترغب في تحديد حدود الطلب في WooCommerce بناءً على المدينة التي يقوم فيها المستخدم بالتسوق؟ إذا كان الأمر كذلك، يمكنك استخدام الشيفرة التالية مع إضافة “Shipping Rates by City for WooCommerce”:
// الحصول على قيمة شحن المدينة
function get_city_shipping_value(){
$city = WC()->checkout->get_value("billing_city");
global $wpdb;
$value = $wpdb->get_var("SELECT cost FROM brh_wccfee_cities WHERE city_name='$city'");
return $value;
}
// استبدال زر "تأكيد الطلب" عندما يكون إجمالي السلة أقل من قيمة شحن المدينة
add_filter( 'woocommerce_order_button_html', 'replace_order_button_html', 10, 2 );
function replace_order_button_html( $order_button ) {
if( WC()->cart->total > get_city_shipping_value() ) return $order_button;
$order_button_text = __( "لم يتم الوصول لأقل تكلفة للطلب", "woocommerce" );
$style = ' style="color:#fff;pointer-events: none;cursor:not-allowed;background-color:#999;"';
return '' . esc_html( $order_button_text ) . '';
}
هذا الشيفرة يستخدم دالة get_city_shipping_value()
للحصول على قيمة شحن المدينة المحددة في معامل الفوتر “billing_city”. ثم يتم استخدام الفلتر woocommerce_order_button_html
لاستبدال زر “تأكيد الطلب” إذا كان إجمالي سلة التسوق أقل من قيمة شحن المدينة.