Fix button rendering location compatibility issues on single product page.

This commit is contained in:
Pedro Silva 2023-11-17 11:13:53 +00:00
parent a477770256
commit 1af681904a
No known key found for this signature in database
GPG key ID: E2EE20C0669D24B3

View file

@ -273,7 +273,12 @@ class CompatModule implements ModuleInterface {
add_action(
'init',
function() {
if ( $this->is_elementor_pro_active() || $this->is_divi_theme_active() ) {
if (
$this->is_block_theme_active()
|| $this->is_elementor_pro_active()
|| $this->is_divi_theme_active()
|| $this->is_divi_child_theme_active()
) {
add_filter(
'woocommerce_paypal_payments_single_product_renderer_hook',
function(): string {
@ -286,6 +291,15 @@ class CompatModule implements ModuleInterface {
);
}
/**
* Checks whether the current theme is a blocks theme.
*
* @return bool
*/
protected function is_block_theme_active(): bool {
return function_exists( 'wp_is_block_theme' ) && wp_is_block_theme();
}
/**
* Checks whether the Elementor Pro plugins (allowing integrations with WC) is active.
*
@ -304,4 +318,15 @@ class CompatModule implements ModuleInterface {
$theme = wp_get_theme();
return $theme->get( 'Name' ) === 'Divi';
}
/**
* Checks whether a Divi child theme is currently used.
*
* @return bool
*/
protected function is_divi_child_theme_active(): bool {
$theme = wp_get_theme();
$parent = $theme->parent();
return ( $parent && $parent->get( 'Name' ) === 'Divi' );
}
}