Sortieren und präsentieren Sie Produkte nach Ihren Wünschen

Sortieren und Anzeigen von Produkten nach Ihren Wünschen – die alte WooCommerce-Produktverkaufstechnik

Firefox Screenshot 2024 09 21T15 49 49.837Z

Durch die Anzeige Ihrer gewünschten Produkte oder alten Produkte, die sich auf den letzten Seiten des Shops befinden, in der ersten Option der Shop-Seite können Sie den Verkauf dieser Produkte beschleunigen

Sie sollten diesen Code am Ende Ihrer Funktionsdatei einfügen und speichern

Sicht Andere Methoden zur Steigerung Einnahmen aus Online-Shops



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

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

3 × 1 =

 
Online-Chat

Wir sind bereit, Ihre Fragen zu beantworten