Toda tienda online creada con WooCommerce tiene en su catálogo de productos un desplegable desde el que el cliente puede ordenar a su gusto los productos.
Hace tiempo ya vimos cómo quitar ese desplegable, en el caso de que no quieras siquiera que aparezca. Incluso desvelamos el misterio del orden por defecto de los productos en WooCommerce.
Pero hoy vamos a hilar un poco más fino, y vamos a aprender cómo ocultar algunas de las opciones que aparecen en ese desplegable de orden de los productos, para dejar solo los que nos interese que queden visibles, pues no se qué pensarás, pero a mi siempre me ha parecido que da demasiadas opciones ¿no crees?
¿No sería mejor quitar tantas opciones de ordenado de productos?
Así, por ejemplo:
/* Ocultar opciones del desplegable de orden de productos */ add_filter( 'woocommerce_catalog_orderby', 'ayudawp_ocultar_opciones_desplegable_orden_productos' ); function ayudawp_ocultar_opciones_desplegable_orden_productos( $options ){ unset( $options[ 'popularity' ] ); unset( $options[ 'rating' ] ); unset( $options[ 'date' ] ); //unset( $options[ 'menu_order' ] ); //unset( $options[ 'price' ] ); //unset( $options[ 'price-desc' ] ); return $options; }
En el código anterior desactivamos (unset
) aquellas opciones de ordenado que queramos ocultar de la lista, y comentamos la línea (//
) de las que sí queramos que se muestren.
Este código puedes añadirlo al final del archivo functions.php
del tema hijo activo o a tu propio plugin.
Lo que queda es esto:
Mucho mejor ¿verdad?
Las opciones que podemos activar/desactivar son estas:
menu_order
– Orden por defecto, como ya vimos y aprendimos a cambiar.popularity
– Orden por popularidad, por cantidad ventas vaya.rating
– Orden por promedio de valoraciones.date
– Orden en el que primero se muestran los productos recientemente añadidos.price
– Orden por precio: de menor a mayor precio.price-desc
– Orden por precio: de mayor a menor precio.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Muy útil, muchas gracias, como siempre.