Make WordPress Core

Opened 3 years ago

Last modified 5 weeks ago

#53677 new defect (bug)

load_script_textdomain() doesn't work for subdirectory themes, or those in alternate theme roots

Reported by: dd32's profile dd32 Owned by:
Milestone: Future Release Priority: low
Severity: normal Version:
Component: I18N Keywords: needs-patch
Focuses: javascript Cc:

Description

load_script_textdomain() attempts to load script translations for themes, but fails to generate the correct relative filename when the theme is within a sub-directory or alternate theme root.

WordPress supports three main formats for theme directories (See search_theme_directories())

  1. wp-content/themes/$theme
  2. wp-content/custom-theme-root/$theme
  3. wp-content/themes/a-directory-of-themes/$theme (and likewise for the custom $theme_root)

The first case is covered, but when using the other two, the generated relative path and subsequent path md5 is incorrect.

For example, given the file .../themes/a-directory-of-themes/$theme/build/index.min.js instead of generating the md5 of build/index.js it generates it of $theme/build/index.js.

I'm unsure what it would do with the custom theme roots, all that I can tell is that the use-case doesn't appear to be covered in the function.

Change History (2)

#1 @dd32
3 years ago

See https://meta.trac.wordpress.org/browser/sites/trunk/wordpress.org/public_html/wp-content/mu-plugins/pub/hotfix-53677.php which is a hotfix plugin I've added to WordPress.org to allow it to work for our use-case of wp-content/themes/pub/$theme/$file

#2 @swissspidy
5 weeks ago

  • Keywords needs-patch added
  • Milestone changed from Awaiting Review to Future Release
  • Priority changed from normal to low
Note: See TracTickets for help on using tickets.