WooCommerce: eliminar, renombrar, agregar opciones de "clasificación" en la tienda

Hemos visto en el pasado cómo eliminar por completo el menú desplegable "Clasificación predeterminada" que se muestra en las páginas de Tienda, Categoría y Archivo de productos de WooCommerce.

A veces, sin embargo, es posible que solo necesite eliminar una de las opciones predeterminadas, cambiar el nombre de una opción de clasificación según sus necesidades o incluso agregar un nuevo método de clasificación. Como de costumbre, unas pocas líneas de PHP son suficientes para lograr cualquier cosa, gracias a los ganchos y filtros de WooCommerce.

Eliminar, cambiar el nombre o agregar opciones al menú desplegable de "Clasificación predeterminada" de WooCommerce

Fragmento de código de PHP n.º 1: eliminar una opción de clasificación @ WooCommerce Shop

/**
* @snippet       Remove Sorting Option @ WooCommerce Shop
* @how-to        Get CustomizeWoo.com FREE
* @author        Rodolfo Melogli
* @testedwith    WooCommerce 3.8
* @donate $9     https://businessbloomer.com/bloomer-armada/
*/
  
add_filter( 'woocommerce_catalog_orderby', 'bbloomer_remove_sorting_option_woocommerce_shop' );
  
function bbloomer_remove_sorting_option_woocommerce_shop( $options ) {
   unset( $options['rating'] );  
   return $options;
}
  
// Note: you can unset other sorting options by adding more "unset" calls... here's the list: 'menu_order', 'popularity', 'rating', 'date', 'price', 'price-desc'

Fragmento de PHP #2: Cambiar el nombre de una opción de clasificación @ WooCommerce Shop

/**
* @snippet       Rename a Sorting Option @ WooCommerce Shop
* @how-to        Get CustomizeWoo.com FREE
* @author        Rodolfo Melogli
* @testedwith    WooCommerce 3.8
* @donate $9     https://businessbloomer.com/bloomer-armada/
*/
  
add_filter( 'woocommerce_catalog_orderby', 'bbloomer_rename_sorting_option_woocommerce_shop' );
  
function bbloomer_rename_sorting_option_woocommerce_shop( $options ) {
   $options['price'] = 'Sort by price (asc)';  
   return $options;
}

Fragmento de código de PHP n.º 3: Agregar una opción de clasificación personalizada @ WooCommerce Shop

En este ejemplo, crearemos una nueva opción de clasificación llamada "Ordenar por nombre (desc)" que ordenará los productos por título (orden descendente).

/**
* @snippet       Add a Custom Sorting Option @ WooCommerce Shop
* @how-to        Get CustomizeWoo.com FREE
* @author        Rodolfo Melogli
* @testedwith    WooCommerce 4.0
* @donate $9     https://businessbloomer.com/bloomer-armada/
*/
  
// 1. Create new product sorting rule
  
add_filter( 'woocommerce_get_catalog_ordering_args', 'bbloomer_sort_by_name_woocommerce_shop' );
  
function bbloomer_sort_by_name_woocommerce_shop( $args ) {
   $orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
   if ( 'name' == $orderby_value ) {
      $args['orderby'] = 'title';
      $args['order'] = 'DESC';
   }
   return $args;
}
  
// 2. Add new product sorting option to Sorting dropdown
  
add_filter( 'woocommerce_catalog_orderby', 'bbloomer_load_custom_woocommerce_catalog_sorting' );
  
function bbloomer_load_custom_woocommerce_catalog_sorting( $options ) {
   $options['name'] = 'Sort by name (desc)';
   return $options;
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir