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!

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 una respuesta