
إذا كنت ترغب في تمكين زوار متجر WooCommerce الخاص بك من فلترة المنتجات وترتيب المنتجات في WooCommerce حسب العروض والتخفيضات، فإن هذا الكود الممتع والمفيد يوفر لك الوسيلة للقيام بذلك. دعنا نلقي نظرة على الشفرة:
- تعريف الفلتر
woocommerce_get_catalog_ordering_args:- يتم استخدام هذا الفلتر لتعديل المعايير المستخدمة لترتيب المنتجات في صفحة الفهرس (الكتالوج).
كود ترتيب المنتجات في WooCommerce حسب العروض
add_filter( 'woocommerce_get_catalog_ordering_args', 'wcs_get_catalog_ordering_args' );
function wcs_get_catalog_ordering_args( $args ) {
$orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
if ( 'on_sale' == $orderby_value ) {
$args['orderby'] = 'meta_value_num';
$args['order'] = 'DESC';
$args['meta_key'] = '_sale_price';
}
return $args;
}
-
-
- تعريف الفلتر
woocommerce_default_catalog_orderby_optionsوwoocommerce_catalog_orderby:- يستخدمان لإضافة خيار ترتيب جديد إلى قائمة ترتيب المنتجات في متجر WooCommerce
- تعريف الفلتر
-
add_filter( 'woocommerce_default_catalog_orderby_options', 'wcs_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'wcs_catalog_orderby' );
function wcs_catalog_orderby( $sortby ) {
$sortby['on_sale'] = 'العروض والتخفيضات';
return $sortby;
}
مع هذا الكود، يمكن للمستخدمين الآن تصفية المنتجات وترتيبها حسب العروض والتخفيضات في متجر WooCommerce الخاص بك. تأكد من التجربة والتحقق من كيفية عمل الفلتر لتلبية احتياجات متجرك!
كيف يعمل الفلتر woocommerce_get_catalog_ordering_args؟
الفلتر woocommerce_get_catalog_ordering_args يتيح تعديل معايير ترتيب المنتجات في صفحة الكتالوج. عند اختيار “العروض والتخفيضات”، يتم ضبط orderby على meta_value_num مع meta_key يساوي _sale_price، ما يجعل المنتجات المخفضة تظهر في أعلى القائمة.
يتم استدعاء هذا الفلتر كلما كان هناك طلب على ترتيب المنتجات، وبالتالي يضمن أن الترتيب يتغير ديناميكياً حسب اختيار المستخدم.
يمكنك تعديل الكود ليتناسب مع متطلباتك الخاصة، مثل تغيير ترتيب المنتجات المخفضة من تصاعدي إلى تنازلي.
إضافة خيار "العروض والتخفيضات" إلى قائمة الترتيب
الفلتران woocommerce_default_catalog_orderby_options و woocommerce_catalog_orderby يضيفان خيارًا جديدًا إلى قائمة الترتيب في واجهة المتجر. عند اختيار هذا الخيار، يتم تطبيق الكود السابق لتصفية المنتجات.
يتم إضافة الخيار عبر دالة wcs_catalog_orderby التي تضيف عنصرًا جديدًا إلى مصفوفة الخيارات، مع تسمية واضحة “العروض والتخفيضات”.
بعد إضافة الكود، سيظهر الخيار في قائمة الترتيب، ويمكن للمستخدمين اختيار ترتيب المنتجات حسب العروض بسهولة.
أسئلة شائعة
هل يتطلب هذا الكود تثبيت إضافات خاصة؟
لا، الكود يعمل مع أي متجر WooCommerce دون الحاجة لتثبيت إضافات إضافية، ما لم ترغب في دمجه مع إضافات أخرى لتحسين التجربة.
كيف أضيف الكود إلى موقع ووردبريس؟
يمكنك إضافة الكود في ملف functions.php الخاص بالقالب أو عبر إضافة مخصصة (Custom Plugin) لتجنب فقدان التغييرات عند تحديث القالب.
ما الفرق بين woocommerce_get_catalog_ordering_args و woocommerce_default_catalog_orderby_options؟
الفلتر الأول يغير معايير الترتيب الفعلية، بينما الثاني يضيف خيارًا جديدًا إلى قائمة الترتيب في واجهة المتجر.
هل يمكن تعديل ترتيب العروض لتكون تصاعدية؟
نعم، يمكنك تغيير قيمة order من "DESC" إلى "ASC" داخل دالة wcs_get_catalog_ordering_args لتغيير ترتيب المنتجات المخفضة.
