From d84b738cddbb960398940cbb012740e82bba8c45 Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Tue, 3 Oct 2023 13:30:31 +0200 Subject: [PATCH] Enqueue public.js to be loaded as deferred on WP 6.3+ [MAILPOET-5623] --- mailpoet/lib/Form/AssetsController.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mailpoet/lib/Form/AssetsController.php b/mailpoet/lib/Form/AssetsController.php index 3f7da0ec53..a1659474a3 100644 --- a/mailpoet/lib/Form/AssetsController.php +++ b/mailpoet/lib/Form/AssetsController.php @@ -78,12 +78,23 @@ class AssetsController { Env::$assetsUrl . '/dist/css/' . $this->renderer->getCssAsset('mailpoet-public.css') ); + $enqueuePlacementParams = [ + 'in_footer' => true, + 'strategy' => 'defer', + ]; + + // BC for WP < 6.3 - Can be removed after we drop support for WP 6.2 + global $wp_version; + if (version_compare($wp_version, '6.3', '<')) { + $enqueuePlacementParams = true; + } + $this->wp->wpEnqueueScript( 'mailpoet_public', Env::$assetsUrl . '/dist/js/' . $this->renderer->getJsAsset('public.js'), ['jquery'], Env::$version, - true + $enqueuePlacementParams ); $ajaxFailedErrorMessage = __('An error has happened while performing a request, please try again later.', 'mailpoet');