From 6d450d587fbb9917747cf6f970271df3247cd920 Mon Sep 17 00:00:00 2001 From: Alex P Date: Tue, 12 Dec 2023 10:52:33 +0200 Subject: [PATCH] Always include buttons and messages components when in editor --- modules/ppcp-button/src/Assets/SmartButton.php | 2 ++ modules/ppcp-button/src/Helper/ContextTrait.php | 15 +++++++++++++++ modules/ppcp-paylater-block/resources/js/edit.js | 2 +- .../ppcp-wc-gateway/src/Helper/SettingsStatus.php | 3 +++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/modules/ppcp-button/src/Assets/SmartButton.php b/modules/ppcp-button/src/Assets/SmartButton.php index 63d43dc70..39bc183ee 100644 --- a/modules/ppcp-button/src/Assets/SmartButton.php +++ b/modules/ppcp-button/src/Assets/SmartButton.php @@ -636,6 +636,8 @@ document.querySelector("#payment").before(document.querySelector("#ppcp-messages case 'shop': case 'home': return $messaging_enabled_for_current_location; + case 'block-editor': + return true; default: return false; } diff --git a/modules/ppcp-button/src/Helper/ContextTrait.php b/modules/ppcp-button/src/Helper/ContextTrait.php index e0fcb6d73..3a33cbdbb 100644 --- a/modules/ppcp-button/src/Helper/ContextTrait.php +++ b/modules/ppcp-button/src/Helper/ContextTrait.php @@ -98,6 +98,10 @@ trait ContextTrait { return 'add-payment-method'; } + if ( $this->is_block_editor() ) { + return 'block-editor'; + } + return 'mini-cart'; } @@ -174,4 +178,15 @@ trait ContextTrait { return $page_id && is_page( $page_id ) && isset( $wp->query_vars['add-payment-method'] ); } + + /** + * Checks if it is the block editor page. + */ + private function is_block_editor(): bool { + if ( ! function_exists( 'get_current_screen' ) ) { + return true; + } + $screen = get_current_screen(); + return $screen && $screen->is_block_editor(); + } } diff --git a/modules/ppcp-paylater-block/resources/js/edit.js b/modules/ppcp-paylater-block/resources/js/edit.js index 573b770d9..0ee25196f 100644 --- a/modules/ppcp-paylater-block/resources/js/edit.js +++ b/modules/ppcp-paylater-block/resources/js/edit.js @@ -43,7 +43,7 @@ export default function Edit( { attributes, clientId, setAttributes } ) { } : { ...scriptParams.url_params, ...{ - components: 'messages', + components: 'messages,buttons,funding-eligibility', } } diff --git a/modules/ppcp-wc-gateway/src/Helper/SettingsStatus.php b/modules/ppcp-wc-gateway/src/Helper/SettingsStatus.php index d1f848d19..b29b3b86a 100644 --- a/modules/ppcp-wc-gateway/src/Helper/SettingsStatus.php +++ b/modules/ppcp-wc-gateway/src/Helper/SettingsStatus.php @@ -85,6 +85,9 @@ class SettingsStatus { * @return bool true if is enabled, otherwise false. */ public function is_smart_button_enabled_for_location( string $location ): bool { + if ( $location === 'block-editor' ) { + $location = 'checkout-block'; + } return $this->is_enabled_for_location( 'smart_button_locations', $location ); }