permalink}\" class=\"wc-block-grid__product-link\"> ". apply_filters( 'botiga_wc_block_product_loop_image_wrap_image_output', $data->image, $product ) ." "; // Sale badge if( function_exists( 'botiga_sale_badge' ) ) { $markup .= botiga_sale_badge( $html = '', $post, $product ); } //Add button inside image wrapper for layout4 and layout3 if ( 'layout4' === $button_layout || 'layout3' === $button_layout ) { $markup .= "
" . botiga_gb_add_to_cart_button( $product ) . "
"; } //Quick view if( function_exists( 'botiga_quick_view_button' ) ) { $markup .= botiga_quick_view_button( $product, false ); } //Wishlist if( function_exists( 'botiga_wishlist_button' ) ) { $markup .= botiga_wishlist_button( $product, false ); } $markup .= "
"; if ( 'layout2' === $layout ) { $markup .= "
"; } $markup .= "permalink}\" class=\"wc-block-grid__product-link\"> {$data->title} "; $markup .= "{$data->rating}"; if ( 'layout1' === $layout ) { $markup .= "{$data->price}"; } else { $markup .= "
{$data->price}
"; } //Add button outside image wrapper if ( 'layout1' !== $button_layout && 'layout4' !== $button_layout && 'layout3' !== $button_layout ) { $markup .= "
" . botiga_gb_add_to_cart_button( $product ) . "
"; } $enable_product_swatch = get_theme_mod( 'product_swatch', 0 ); $enable_product_swatch_on_shop_catalog = get_theme_mod( 'product_swatch_on_shop_catalog', 0 ); if ( ( $button_layout === 'layout3' || $button_layout === 'layout4' ) && ( $enable_product_swatch && $enable_product_swatch_on_shop_catalog && class_exists( 'Botiga_Product_Swatch' ) ) ) { ob_start(); Botiga_Product_Swatch::product_swatch_on_shop_catalog(); $markup .= ob_get_clean(); } $markup .= ""; return $markup; } add_filter( 'woocommerce_blocks_product_grid_item_html', 'botiga_filter_woocommerce_blocks', 10, 3 ); /** * Gutenberg blocks add to cart * replaces default add to cart block function to allow theme options */ function botiga_gb_add_to_cart_button( $_product ) { global $product; $product = $_product; // phpcs:ignore WPThemeReview.CoreFunctionality.PrefixAllGlobals.NonPrefixedVariableFound $button_layout = get_theme_mod( 'shop_product_add_to_cart_layout', 'layout3' ); //Button text if ( 'layout4' !== $button_layout ) { $text = esc_html( $_product->add_to_cart_text() ); } else { if ( $_product->is_type( 'simple' ) ) { $text = '' . botiga_get_svg_icon( 'icon-cart', false ) . ''; } else { $text = '' . botiga_get_svg_icon( 'icon-eye', false ) . ''; } } //Start markup $markup = ''; $enable_product_swatch = get_theme_mod( 'product_swatch', 0 ); $enable_product_swatch_on_shop_catalog = get_theme_mod( 'product_swatch_on_shop_catalog', 0 ); if ( ( $button_layout === 'layout1' || $button_layout === 'layout2' ) && ( $enable_product_swatch && $enable_product_swatch_on_shop_catalog && class_exists( 'Botiga_Product_Swatch' ) ) ) { ob_start(); Botiga_Product_Swatch::product_swatch_on_shop_catalog(); $markup .= ob_get_clean(); } else { $markup .= '
'; $attributes = array( 'aria-label' => $_product->add_to_cart_description(), 'data-quantity' => '1', 'data-product_id' => $_product->get_id(), 'data-product_sku' => $product->get_sku(), 'rel' => 'nofollow', 'class' => 'wp-block-button__link add_to_cart_button', ); if ( $_product->supports( 'ajax_add_to_cart' ) && $_product->is_purchasable() && ( $_product->is_in_stock() || $_product->backorders_allowed() ) ) { $attributes['class'] .= ' ajax_add_to_cart'; } $markup .= sprintf( '%s', esc_url( $_product->add_to_cart_url() ), wc_implode_html_attributes( $attributes ), $text ); $markup .= '
'; } return $markup; }