فرز وعرض المنتجات حسب تفضيلاتك

فرز وعرض المنتجات حسب تفضيلاتك - تقنية بيع المنتجات القديمة في WooCommerce

Firefox Screenshot 2024 09 21T15 49 49.837Z

عرض المنتجات التي تريدها أو المنتجات القديمة الموجودة في الصفحات الأخيرة من المتجر في الخيار الأول من صفحة المتجر يمكن أن يجعل بيع هذه المنتجات أسرع

يجب عليك وضع هذا الرمز في نهاية ملف الوظيفة الخاص بك وحفظه

منظر طرق أخرى للزيادة دخل المتجر على الانترنت



 
// Replace "default sorting" option with a custom one
 
add_filter( 'woocommerce_catalog_orderby', 'rezvan_woocommerce_catalog_orderby_custom' );
 
function rezvan_woocommerce_catalog_orderby_custom( $sortby ) {
    $sortby['featured'] = __( 'Default sorting', 'woocommerce' );
   unset( $sortby['menu_order'] );
    return $sortby;
}
 
// Make the custom one the default one
 
add_filter( 'woocommerce_default_catalog_orderby', 'rezvan_woocommerce_catalog_orderby_custom_default' );
 
function rezvan_woocommerce_catalog_orderby_custom_default() {
   return 'featured';
}
 
// Set sorting for new option
 
add_filter( 'woocommerce_get_catalog_ordering_args', 'rezvan_woocommerce_catalog_orderby_custom_args' );
 
function rezvan_woocommerce_catalog_orderby_custom_args( $args ) {
   $orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
   if ( 'featured' == $orderby_value ) {
      $args['orderby'] = 'menu_order title';
      $args['order'] = '';
      $args['meta_key'] = '';
   }
   return $args;
}
 
// Adjust order to allow for featured posts
 
add_filter( 'posts_orderby', 'rezvan_woocommerce_catalog_orderby_custom_featured_first', 10, 2 );
 
function rezvan_woocommerce_catalog_orderby_custom_featured_first( $order_by, $query ) {
   global $wpdb;
   if ( ! is_admin() ) {
      $orderby_value = ( isset( $_GET['orderby'] ) ? wc_clean( (string) $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) ) );
      $orderby_value_array = explode( '-', $orderby_value );
      $orderby = esc_attr( $orderby_value_array[0] );
      $order = ( ! empty( $orderby_value_array[1] ) ? $orderby_value_array[1] : 'ASC' );
      $featured_product_ids = wc_get_featured_product_ids();
      if ( $orderby == "featured" && is_array( $featured_product_ids ) && ! empty( $featured_product_ids ) ) {
         if ( empty( $order_by ) ) {
            $order_by = "FIELD(" . $wpdb->posts . ".ID,'" . implode( "','", $featured_product_ids ) . "') DESC ";
         } else {
            $order_by = "FIELD(" . $wpdb->posts . ".ID,'" . implode( "','", $featured_product_ids ) . "') DESC, " . $order_by;
         }
      }  
   }
   return $order_by;
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

12 + ستة =

 
الدردشة عبر الإنترنت

نحن على استعداد للإجابة على أسئلتك