WPML

نظرة عامة على المشكلة

توفر لك WooCommerce ودجت تصفية حسب السعر تتيح لمستخدميك تصفية منتجاتك بسهولة.

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

حل بديل مؤقت

تم إصلاح هذه المشكلة. يحل التحديث إلى أحدث إصدار المشكلة على موقعك، لذا لا تحتاج إلى هذا الحل البديل المؤقت إلا إذا لم تتمكن من التحديث بعد.

قبل المتابعة، أنشئ نسخة احتياطية كاملة لموقعك. ثم:

  1. افتح مجلد WooCommerce Multilingual.
  2. ابحث عن ملف /woocommerce-multilingual/inc/currencies/class-wcml-multi-currency-prices.php.
  3. انتقل إلى السطر 620.
  4. غيّر:
    $args['where'] = str_replace( $wpdb->prepare( 'wc_product_meta_lookup.min_price >= %f', $min_price ), $wpdb->prepare( 'wc_product_meta_lookup.min_price >= %f', $min_price_in_default_currency ), $args['where'] );
    $args['where'] = str_replace( $wpdb->prepare( 'wc_product_meta_lookup.max_price <= %f', $max_price ), $wpdb->prepare( 'wc_product_meta_lookup.max_price <= %f', $max_price_in_default_currency ), $args['where'] );

    إلى:

    $args['where'] = str_replace( $wpdb->prepare( '%f<wc_product_meta_lookup.min_price', $max_price ), $wpdb->prepare( '%f<wc_product_meta_lookup.min_price', $max_price_in_default_currency ), $args['where'] );
    $args['where'] = str_replace( $wpdb->prepare( '%f>wc_product_meta_lookup.max_price', $min_price ), $wpdb->prepare( '%f>wc_product_meta_lookup.max_price', $min_price_in_default_currency ), $args['where'] );

جميع المشكلات المعروفة

هل ما زلت تواجه هذه المشكلة؟

إذا لم يحل التحديث المشكلة، فاطرح استفسار الدعم وسنبحث في الأمر معك.