Hoy vamos a ver cómo ordenar los productos de un woocommerce por su fecha de actualización, que es distinta de la de publicación de este producto. En una llamada que tuve hace unos días con uno de mis clientes, me preguntó si conocía alguna forma de ordenar los productos por los más recientes, y es que es un sector de productos reacondicionados y en vez de sumar el stock cada vez que le entraban productos nuevos, creaba un producto duplicado y le sumaba el stock ahí, con el objetivo de que saliese por delante de los demás.
Claro, esto es una autentica locura tanto para el SEO como para la gestión/analítica de ese cliente! Al lío, me puse a buscar soluciones y tras varios intentos, encontré el resultado, para tenerlo todo más a mano, os lo dejo por aquí. Lo único que se necesita es poner el siguiente código en el fichero functions.php del tema hijo, y si no tienes uno, ya estás tardando en hacerlo!
/* order by date update products */
function sip_alphabetical_shop_ordering( $sort_args ) {
$orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
if ( 'modified_date' == $orderby_value ) {
$sort_args['orderby'] = 'modified';
$sort_args['order'] = 'DESC';
$sort_args['meta_key'] = '';
}
return $sort_args;
}
add_filter( 'woocommerce_get_catalog_ordering_args', 'sip_alphabetical_shop_ordering' );
function sip_custom_wc_catalog_orderby( $sortby ) {
$sortby['modified_date'] = 'Ordenar por los mas recientes';
return $sortby;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'sip_custom_wc_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'sip_custom_wc_catalog_orderby' );
Ahora ya podréis asignar desde las opciones de Woocommerce (Personalizar) este método de ordenación como el método por defecto, además de salir en el desplegable para que tus usuarios puedan elegirlo con el resto de opciones.
Con esto, cada vez que actualicemos un producto, bien sea el precio, el stock, o únicamente actualizarlo sin realizar ningún cambio, se pondrá arriba del todo.
Espero que os haya resultado tan útil como a mi.
Programador reconvertido a consultor SEO. Me gusta automatizar cosas, de hecho, este articulo ha sido generado a partir de otras webs de forma automática.