From 32ec9382a9301d41883c6964e322259637557701 Mon Sep 17 00:00:00 2001 From: "Dominik Schilling (ocean90)" Date: Mon, 7 Jan 2019 13:59:01 +0000 Subject: [PATCH] I18n: Expose JSON translation file paths in `load_script_textdomain()`. Removes `file_exist()` checks before calling `load_script_translations()` to let the determined paths be passed to `load_script_translations()` which provides its own file check and the possibility to filter the path. Props swissspidy, johnbillion, ocean90. See #45769. git-svn-id: https://develop.svn.wordpress.org/trunk@44418 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/l10n.php | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/wp-includes/l10n.php b/src/wp-includes/l10n.php index fb88ba5e07..915fa72701 100644 --- a/src/wp-includes/l10n.php +++ b/src/wp-includes/l10n.php @@ -922,8 +922,13 @@ function load_script_textdomain( $handle, $domain = 'default', $path = null ) { // If a path was given and the handle file exists simply return it. $file_base = $domain === 'default' ? $locale : $domain . '-' . $locale; $handle_filename = $file_base . '-' . $handle . '.json'; - if ( $path && file_exists( $path . '/' . $handle_filename ) ) { - return load_script_translations( $path . '/' . $handle_filename, $handle, $domain ); + + if ( $path ) { + $translations = load_script_translations( $path . '/' . $handle_filename, $handle, $domain ); + + if ( $translations ) { + return $translations; + } } $src = $wp_scripts->registered[ $handle ]->src; @@ -983,11 +988,19 @@ function load_script_textdomain( $handle, $domain = 'default', $path = null ) { } $md5_filename = $file_base . '-' . md5( $relative ) . '.json'; - if ( $path && file_exists( $path . '/' . $md5_filename ) ) { - return load_script_translations( $path . '/' . $md5_filename, $handle, $domain ); + + if ( $path ) { + $translations = load_script_translations( $path . '/' . $md5_filename, $handle, $domain ); + + if ( $translations ) { + return $translations; + } } - if ( file_exists( $languages_path . '/' . $md5_filename ) ) { - return load_script_translations( $languages_path . '/' . $md5_filename, $handle, $domain ); + + $translations = load_script_translations( $languages_path . '/' . $md5_filename, $handle, $domain ); + + if ( $translations ) { + return $translations; } return load_script_translations( false, $handle, $domain );