WooCommerce: mostrar reseñas de productos en la página personalizada (código corto)

Las reseñas de productos de WooCommerce se muestran de forma predeterminada en la pestaña «Reseñas» en la página de un solo producto. Pero, ¿qué sucede si, como yo, está utilizando páginas de ventas personalizadas y necesita mostrar dichas reseñas en otro lugar, utilizando un código abreviado?

Pasé un tiempo haciendo esto para dos páginas de Business Bloomer, la página de contacto (junto al formulario de solicitud de cotización) y la página de ventas de Bloomer Armada (justo arriba de la tabla de precios), así que pensé que hubiera sido genial compartir el fragmento contigo. ¡Disfrutar!

Aquí está mi salida personalizada de «código abreviado de reseñas de productos de WooCommerce» en la página de inicio de un sitio web de prueba.

Fragmento de código PHP: Reseñas de productos de WooCommerce Código abreviado

Una vez que el fragmento a continuación se agregue a su functions.php, simplemente use el código abreviado [product_reviews id=»123″] en cualquier lugar que desee. Tenga en cuenta que » id » es el ID del producto para el que desea generar comentarios de los clientes.

/**
 * @snippet       WooCommerce Product Reviews Shortcode
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 3.9
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
add_shortcode( 'product_reviews', 'bbloomer_product_reviews_shortcode' );
 
function bbloomer_product_reviews_shortcode( $atts ) {
    
   if ( empty( $atts ) ) return '';
 
   if ( ! isset( $atts['id'] ) ) return '';
       
   $comments = get_comments( 'post_id=' . $atts['id'] );
    
   if ( ! $comments ) return '';
    
   $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;
}

Deja un comentario