' . esc_html( $product->get_name() ) . ''; }
if ( ! empty( $modules['rating'] ) && $product->get_rating_count() ) { $html .= '
' . wp_kses_post( wc_get_rating_html( $product->get_average_rating(), $product->get_rating_count() ) ) . '
'; }
if ( ! empty( $modules['price'] ) ) { $html .= '' . wp_kses_post( $product->get_price_html() ) . '
'; }
if ( ! empty( $modules['availability'] ) ) {
$stock = wc_get_stock_html( $product );
if ( $stock ) {
$html .= '' . wp_kses_post( $stock ) . '
';
}
}
if ( ! empty( $modules['short_description'] ) && $product->get_short_description() ) { $html .= '' . wp_kses_post( wpautop( $product->get_short_description() ) ) . '
'; }
$before_purchase = $html;
if ( ! empty( $modules['purchase'] ) && $product->is_purchasable() ) {
ob_start();
// phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- WooCommerce documents this product-type-specific add-to-cart hook.
do_action( 'woocommerce_' . $product->get_type() . '_add_to_cart' );
$form = ob_get_clean();
if ( $form ) {
if ( $preview ) {
$form = preg_replace( '/\saction=(["\']).*?\1/i', ' action="#"', $form );
$form = str_ireplace(
array( '