From 96a7954ee6a52a11f3a6f1f1c37d949eb51a034b Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Wed, 13 Sep 2023 22:14:15 +0000 Subject: [PATCH] Bundled Themes: Ensure Twenty Twenty's main script loads in `head` for WP<6.3. Amends [56556]. Props westonruter, flixos90, peterwilsoncc. Fixes #59316. git-svn-id: https://develop.svn.wordpress.org/trunk@56569 602fd350-edb4-49c9-b593-d223f7449a82 --- .../themes/twentytwenty/functions.php | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/wp-content/themes/twentytwenty/functions.php b/src/wp-content/themes/twentytwenty/functions.php index 1ca2e4318a..d05df26a2b 100644 --- a/src/wp-content/themes/twentytwenty/functions.php +++ b/src/wp-content/themes/twentytwenty/functions.php @@ -215,16 +215,14 @@ function twentytwenty_register_scripts() { wp_enqueue_script( 'comment-reply' ); } - wp_enqueue_script( - 'twentytwenty-js', - get_template_directory_uri() . '/assets/js/index.js', - array(), - $theme_version, - array( - 'in_footer' => false, // Because involves header. - 'strategy' => 'defer', - ) - ); + /* + * This script is intentionally printed in the head because it involves the page header. The `defer` script loading + * strategy ensures that it does not block rendering; being in the head it will start loading earlier so that it + * will execute sooner once the DOM has loaded. The $args array is not used here to avoid unintentional footer + * placement in WP<6.3; the wp_script_add_data() call is used instead. + */ + wp_enqueue_script( 'twentytwenty-js', get_template_directory_uri() . '/assets/js/index.js', array(), $theme_version ); + wp_script_add_data( 'twentytwenty-js', 'strategy', 'defer' ); } add_action( 'wp_enqueue_scripts', 'twentytwenty_register_scripts' );