مرتب سازی و نمایش محصولات بر اساس اولویت شما

مرتب سازی و نمایش محصولات بر اساس اولویت شما – تکنیک فروش محصولات قدیمی ووکامرس

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;
}

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

 
چت آنلاین

آماده پاسخگویی به سوالات شما هستیم