is_type( 'simple' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually() ) {
$button_with_quantity = ' button-with-quantity';
}
}
//Check for gb option to hide or show add to cart button
if( strpos( $html, 'wp-block-button' ) === FALSE ) {
$button_layout = 'layout1';
}
//Loop image wrapper extra class
$loop_image_wrap_extra_class = 'botiga-add-to-cart-button-'. $button_layout;
if( 'layout1' !== $quick_view_layout ) {
$loop_image_wrap_extra_class .= ' botiga-quick-view-button-'. $quick_view_layout;
}
if( $wishlist_enable && 'layout1' !== $wishlist_layout ) {
$loop_image_wrap_extra_class .= ' botiga-wishlist-button-'. $wishlist_layout;
$wishlist_icon_show_on_hover = get_theme_mod( 'shop_product_wishlist_show_on_hover', 0 );
if( $wishlist_icon_show_on_hover ) {
$wc_block_grid_item_class .= 'botiga-wishlist-show-on-hover';
}
}
$markup = "
";
if ( 'layout2' === $layout ) {
$markup .= "";
}
//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 = Botiga_Modules::is_module_active( 'product-swatches' );
$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 = Botiga_Modules::is_module_active( 'product-swatches' );
$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 .= '';
}
return $markup;
}