Avisos
Vaciar todo

Hosting WordPress 70% dto Dominios promo

[Resuelto] Ordenar productos aleatoriamente  

 
Francis
 Francis
Usuario experto

Hola.

Me gustaría que el orden por defecto de las categorias de la tienda sea en modo aleatorio, he probado con este código introducido en FUNCTION.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;

}

 

 

 

Los productos aparecen de modo aleatorio, hasta hay bien, pero el problema es que me repite mucho los mismos productos, incluso hasta 3 o 4 veces aparecen repetidos en una categoría de 50 - 60 productos

 

 

Contenido solo visible a usuarios registrados

Respondido : 02/03/2021 5:36 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Desde donde obtuviste ese código?, teóricamente no debería haber repeticiones.

Prueba lo que se comenta en: https://stackoverflow.com/questions/23440692/woocommerce-show-random-products

La segunda respuesta podría servirte.

Saludos.

Respondido : 02/03/2021 5:52 pm

Francis
 Francis
Usuario experto

Gracias Jhon.

 

He probado con otro código:

add_filter('woocommerce_get_catalog_ordering_args', 'set_sort_order');
   function set_sort_order($args) {
     $args['orderby'] = 'rand';
     return ($args);    
   }

 

y lo pone en modo aleatorio pero también me duplica varias veces los mismos productos, por ejemplo:

Captura de pantalla 2021 03 02 a las 22.34.23

 

Respondido : 02/03/2021 9:37 pm
Bulmaro
 Bulmaro
Soporte CMS Webempresa Moderator

Hola Francis, 

Prueba con el plugin de WooCommerce Random Product Sorting with Pagination, posteriormente te diriges a Apariencia -> Personalizar -> Woocommerce -> Catálogo de Productos y modificas el orden por default seleccionando la opción "Random". 

Captura de Pantalla 2021 03 02 a la(s) 16.50.48

Nota: Elimina los códigos anteriores que has insertado, de lo contrario puede que no funcione. Este método no tendría por qué duplicarte productos, en caso de que lo haga te sugiero revisar tus plugins, actualizarlos (incluido el template), revisar tus configuraciones, etc. 

Saludos 🙂

Esta publicación ha sido modificada el hace 3 años por Bulmaro
Respondido : 02/03/2021 10:54 pm

Cursos Gratuitos WordPress

Francis
 Francis
Usuario experto

Muchas Gracias Bulmaro.

 

Estoy probando y este si parece funcionar correctamente.

 

Un saludo.

Respondido : 03/03/2021 9:25 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Francis.

Genial !!! me alegra que lo solucionaras 😀 

Cualquier consulat que tengas, no dudes en comunicarlo 😉 

 

Cerramos el tema.

Un saludo

Respondido : 03/03/2021 10:02 am

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación