always render dcc in mini-cart is enabled

This commit is contained in:
David Remer 2020-07-20 11:09:20 +03:00
parent 10fdf09379
commit e188797607

View file

@ -71,23 +71,21 @@ class SmartButton implements SmartButtonInterface
}; };
$canRenderDcc = $this->settings->has('client_id') && $this->settings->get('client_id'); $canRenderDcc = $this->settings->has('client_id') && $this->settings->get('client_id');
$dccRenderer = static function (string $id = null) use ($canRenderDcc) { $dccRenderer = static function (bool $miniCart = false) use ($canRenderDcc) {
$id = ($miniCart) ? 'ppcp-hosted-fields-mini-cart' : 'ppcp-hosted-fields';
if (! $canRenderDcc) { if (! $canRenderDcc) {
return; return;
} }
$product = wc_get_product(); $product = wc_get_product();
if ( if (
! is_checkout() && is_a($product, \WC_Product::class) ! $miniCart && !is_checkout() && is_a($product, \WC_Product::class)
&& ( && (
$product->is_type(['external', 'grouped']) $product->is_type(['external', 'grouped'])
|| ! $product->is_in_stock() || !$product->is_in_stock()
) )
) { ) {
return; return;
} }
if (!$id) {
$id = 'ppcp-hosted-fields';
}
wp_enqueue_style('ppcp-hosted-fields'); wp_enqueue_style('ppcp-hosted-fields');
printf( printf(
'<form id="%1$s"> '<form id="%1$s">
@ -178,7 +176,7 @@ class SmartButton implements SmartButtonInterface
add_action( add_action(
'woocommerce_widget_shopping_cart_after_buttons', 'woocommerce_widget_shopping_cart_after_buttons',
static function () use ($dccRenderer) { static function () use ($dccRenderer) {
$dccRenderer('ppcp-hosted-fields-mini-cart'); $dccRenderer(true);
}, },
31 31
); );