WooCommerce: Cómo mostrar las valoraciones de los productos en cualquier parte

Creo que está claro que las valoraciones de productos – cuando son buenas – son un potente argumento de venta, porque lo queramos o no la realidad es que compramos basándonos en gran medida en las opiniones de otros usuarios.

Esto es así en los clics que reciben los resultados en el buscador como ya dentro de un Ecommerce.

Como ya sabrás, WooCommerce ofrece la funcionalidad de valoraciones nativamente, y esto es genial, pero quizás hay una pequeña pega, y es que no sale en todas partes donde – quizás – querríamos mostrarlas.

Así, podemos ver las valoraciones, o al menos las «estrellitas», en el listado de productos, en la página del producto en cuestión, y también gracias al widget de valoraciones, pero no hay de manera nativa un modo de mostrar valoraciones de clientes en cualquier parte de la web, página de venta o donde queramos ¿o sí?

Pues sí, la realidad es que sí se pueden mostrar las valoraciones completas de los productos en cualquier parte, no solo las «estrellitas», gracias a la magia del código.

Para conseguir este objetivo; mostrar valoraciones en cualquier parte, un modo estupendo es crear un shortcode que, mediante una función, muestre las valoraciones del producto que queramos.

El código base sería así:

/* Shortcode para mostrar valoraciones de WooCommerce */
//Aquí definimos el nombre del shortcode y la función que invoca
add_shortcode( 'valoraciones_producto', 'ayudawp_shortcode_valoraciones' );
 
function ayudawp_shortcode_valoraciones( $atts ) {
    
   if ( empty( $atts ) ) return '';
 
   if ( ! isset( $atts['id'] ) ) return '';
//Aquí definimos que hay que indicar el ID del producto del que queremos mostrar valoraciones       
   $comments = get_comments( 'post_id=' . $atts['id'] );
    
   if ( ! $comments ) return '';
//Generamos el HTML para mostrar las valoraciones al estilo Woo, con avatares, estrellitas y todo    
   $html .= '<div class="woocommerce-tabs"><div id="reviews"><ol class="commentlist">';
    
   foreach ( $comments as $comment ) {   
      $rating = intval( get_comment_meta( $comment->comment_ID, 'rating', true ) );
      $html .= '<li class="review">';
      $html .= get_avatar( $comment, '60' );
      $html .= '<div class="comment-text">';
      if ( $rating ) $html .= wc_get_rating_html( $rating );
      $html .= '<p class="meta"><strong class="woocommerce-review__author">';
      $html .= get_comment_author( $comment );
      $html .= '</strong></p>';
      $html .= '<div class="description">';
      $html .= $comment->comment_content;
      $html .= '</div></div>';
      $html .= '</li>';
   }
    
   $html .= '</ol></div></div>';
    
   return $html;
}

Este código deberás añadirlo al final del archivo functions.php del tema activo o a tu plugin de personalizaciones varias.

Una vez guardado ya puedes incluir valoraciones de un producto concreto de este modo:

[valoraciones_producto id=888]

El número, 888 en el ejemplo, será el ID del producto del que queremos mostrar las valoraciones, algo que podemos identificar fácilmente en la página del listado de productos de WooCommerce, solo con pasar el cursor sobre un producto.

Ahora ya solo tendríamos que insertar el shortcode con el ID del producto donde queramos que se vean las valoraciones del mismo, una página, una entrada, donde quieras.

Dependerá, lógicamente, del tema y de cómo quieras personalizar la salida HTML cómo se muestren las valoraciones pero como puedes comprobar funciona perfectamente.

Espero que te haya gustado y te ayude a vender más productos gracias a las valoraciones, buenas por supuesto.

(7 votos, promedio: 3.6) Valora este artículo para ayudar a mejorar la calidad del blog

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

1 comentario en “WooCommerce: Cómo mostrar las valoraciones de los productos en cualquier parte”

  1. Hola Fer abrazo desde Chetumal México donde la pandemia nos atrapo en el realizado de nuestro sueño de llegar a Alaska desde Argentina.
    He llegado a este post tratando de mostrar las valoraciones en todos mis productos en varios lugares de nuestra web tipo catálogo que tenemos con mi flia.
    Creo que tu método es lo que mas me gusta pero necesito automatizar ese método y creo que sería imprimiendo dinámicamente el ID del producto en mi pagina personalizadas con elementor en https://bazaronlinechetumal.com Ocurre que si coloco el widget predeterminado me muestra dos etiquetas y la de valoraciones no esta por defecto mostrándose primero la de «mas información»; y si uso el widget de Elementor no me muestra nada y no se porque pasa esto.
    Si mis métodos no tienen arreglo como puedo imprimir en la pagina detalle del producto de manera predeterminada las valoraciones con tu método pero necesito meterle el id dinámicamente y no se como hacerlo realmente. O si se te ocurre alguna manera de mejorar nuestra manera seremos felices de escucharla. Te comento que apenas hace 5 días estamos armando el catalogo sobre la marcha porque estamos en una urgencia económica mas que nada para poder reparar nuestro vehículo en el que viajamos modelo 1960 que en su cumpleaños 60 parece querer quedarse en Chetumal sin motor… :(.
    Gracias…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido