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.

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 ; } |
Subir
Deja una respuesta