From 4a284b051547a4111c1483e54ce9a64b266deec4 Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Fri, 15 Dec 2023 13:28:09 -0800 Subject: [PATCH 1/5] Use more efficient str_replace() for string replacement --- src/MobileRedirection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MobileRedirection.php b/src/MobileRedirection.php index 60822cc276b..8870a87a2d0 100644 --- a/src/MobileRedirection.php +++ b/src/MobileRedirection.php @@ -440,7 +440,7 @@ public function add_mobile_redirect_script() { 'isAmpDevMode' => amp_is_dev_mode(), ]; - $source = preg_replace( '/\bAMP_MOBILE_REDIRECTION\b/', wp_json_encode( $exports ), $source ); + $source = str_replace( 'AMP_MOBILE_REDIRECTION', wp_json_encode( $exports ), $source ); if ( function_exists( 'wp_print_inline_script_tag' ) ) { wp_print_inline_script_tag( $source ); From 1e4f16669cbc00a945c57f5091c376f45dd4b679 Mon Sep 17 00:00:00 2001 From: thelovekesh Date: Mon, 18 Dec 2023 23:43:10 +0530 Subject: [PATCH 2/5] Update return type errors flagged by PHPStan --- src/DevTools/UserAccess.php | 2 +- src/OptionsRESTController.php | 2 +- src/ReaderThemeLoader.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/DevTools/UserAccess.php b/src/DevTools/UserAccess.php index e3f405ab8f7..1f172adb462 100644 --- a/src/DevTools/UserAccess.php +++ b/src/DevTools/UserAccess.php @@ -208,7 +208,7 @@ public function update_user_setting( $user_id ) { * Provides the user's dev tools enabled setting. * * @param array $user Array of user data prepared for REST. - * @return null|boolean Whether tools are enabled for the user, or null if the option has not been set. + * @return bool Whether dev tools are enabled for the user. */ public function rest_get_dev_tools_enabled( $user ) { return $this->is_user_enabled( $user['id'] ); diff --git a/src/OptionsRESTController.php b/src/OptionsRESTController.php index 47557a7903c..4aebe8b22a6 100644 --- a/src/OptionsRESTController.php +++ b/src/OptionsRESTController.php @@ -257,7 +257,7 @@ private function get_nested_supportable_templates( $supportable_templates, $pare * Updates AMP plugin options. * * @param WP_REST_Request $request Full details about the request. - * @return array|WP_Error Array on success, or error object on failure. + * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. */ public function update_items( $request ) { $params = $request->get_params(); diff --git a/src/ReaderThemeLoader.php b/src/ReaderThemeLoader.php index 6d4d5090e68..79c70286ab4 100644 --- a/src/ReaderThemeLoader.php +++ b/src/ReaderThemeLoader.php @@ -314,7 +314,7 @@ public function get_reader_theme() { * * The theme that was active before switching to the Reader theme. * - * @return WP_Theme|null + * @return WP_Theme WP_Theme instance. */ public function get_active_theme() { return $this->active_theme; From 1a2182f827962ebe78a82b7786daaeb572fd200f Mon Sep 17 00:00:00 2001 From: thelovekesh Date: Tue, 19 Dec 2023 00:09:53 +0530 Subject: [PATCH 3/5] Remove Interactivity API scripts from being loaded in the frontend --- includes/class-amp-theme-support.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/includes/class-amp-theme-support.php b/includes/class-amp-theme-support.php index df74d38088b..f065810355c 100644 --- a/includes/class-amp-theme-support.php +++ b/includes/class-amp-theme-support.php @@ -905,6 +905,10 @@ static function() { }, 0 ); + + // Prevent Interactivity API from being enqueued in the form of modules. + // TODO: This will need to be updated once Interactivity API is merged from Gutenberg into core. + remove_action( 'wp_enqueue_scripts', 'gutenberg_register_interactivity_module' ); } /** From 04d12982eb7755a3536ba77b3a783951a55791f2 Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Mon, 18 Dec 2023 11:00:28 -0800 Subject: [PATCH 4/5] Remove Gutenberg_Modules logic from AMP pages --- includes/class-amp-theme-support.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/includes/class-amp-theme-support.php b/includes/class-amp-theme-support.php index f065810355c..eb1e484644c 100644 --- a/includes/class-amp-theme-support.php +++ b/includes/class-amp-theme-support.php @@ -909,6 +909,10 @@ static function() { // Prevent Interactivity API from being enqueued in the form of modules. // TODO: This will need to be updated once Interactivity API is merged from Gutenberg into core. remove_action( 'wp_enqueue_scripts', 'gutenberg_register_interactivity_module' ); + remove_action( 'wp_head', [ 'Gutenberg_Modules', 'print_import_map' ] ); + remove_action( 'wp_head', [ 'Gutenberg_Modules', 'print_enqueued_modules' ] ); + remove_action( 'wp_head', [ 'Gutenberg_Modules', 'print_module_preloads' ] ); + remove_action( 'wp_footer', [ 'Gutenberg_Modules', 'print_import_map_polyfill' ], 11 ); } /** From 4248179c85eb56cfb488d68a9b3bfc643b5abc4d Mon Sep 17 00:00:00 2001 From: thelovekesh Date: Tue, 19 Dec 2023 00:40:38 +0530 Subject: [PATCH 5/5] Add class exist check before removing hooks added by Gutenberg plugin --- includes/class-amp-theme-support.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/includes/class-amp-theme-support.php b/includes/class-amp-theme-support.php index eb1e484644c..aab1da67e42 100644 --- a/includes/class-amp-theme-support.php +++ b/includes/class-amp-theme-support.php @@ -906,13 +906,16 @@ static function() { 0 ); - // Prevent Interactivity API from being enqueued in the form of modules. + // Prevent Interactivity API scripts from being enqueued. // TODO: This will need to be updated once Interactivity API is merged from Gutenberg into core. remove_action( 'wp_enqueue_scripts', 'gutenberg_register_interactivity_module' ); - remove_action( 'wp_head', [ 'Gutenberg_Modules', 'print_import_map' ] ); - remove_action( 'wp_head', [ 'Gutenberg_Modules', 'print_enqueued_modules' ] ); - remove_action( 'wp_head', [ 'Gutenberg_Modules', 'print_module_preloads' ] ); - remove_action( 'wp_footer', [ 'Gutenberg_Modules', 'print_import_map_polyfill' ], 11 ); + + if ( class_exists( 'Gutenberg_Modules' ) ) { + remove_action( 'wp_head', [ 'Gutenberg_Modules', 'print_import_map' ] ); + remove_action( 'wp_head', [ 'Gutenberg_Modules', 'print_enqueued_modules' ] ); + remove_action( 'wp_head', [ 'Gutenberg_Modules', 'print_module_preloads' ] ); + remove_action( 'wp_footer', [ 'Gutenberg_Modules', 'print_import_map_polyfill' ], 11 ); + } } /**