Fala pessoal, nesse tutorial irei explicar como exibir seus produtos de forma aleatória em sua loja virtual woocommerce. Confesso que não é algo muito 'amigável' porém tem clientes que gostam desse tipo de função.
Por padrão o Woocommerce permite selecionar apenas esse tipo de opção, inclusive eu ensinei a um tempo atrás Como reorganizar os produtos no catálogo no Woocommerce. Nesse tutorial eu irei explicar como habilitar a opção aleatória.
1. Copie e cole esse código dentro do seu functions.php.
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' ); function custom_woocommerce_get_catalog_ordering_args( $args ) { $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) ); if ( 'random_list' == $orderby_value ) { $args['orderby'] = 'rand'; $args['order'] = ''; $args['meta_key'] = ''; } return $args; } add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' ); add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' ); function custom_woocommerce_catalog_orderby( $sortby ) { $sortby['random_list'] = 'Random'; return $sortby; }
2. Agora vá em Personalizar > Woocommerce > Catálogo de Produtos. Selecione a última opção.
3. Prontinho, agora toda vez os produtos vão ser exibidos de forma aleatória.
Créditos ao código: wearedoubledot, fotos e imagens eu mesmo.