Script Loader: Disable concatenation for scripts with translations to ensure they are printed in the right order.
Props herregroen, ocean90, desrosj, mikeyarce, bobbingwide, audrasjb, johnbillion. Fixes #50999. git-svn-id: https://develop.svn.wordpress.org/trunk@48897 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
6c395a5f3e
commit
a0b40ebd6a
@ -311,6 +311,11 @@ class WP_Scripts extends WP_Dependencies {
|
|||||||
$inline_script_tag = '';
|
$inline_script_tag = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$translations = $this->print_translations( $handle, false );
|
||||||
|
if ( $translations ) {
|
||||||
|
$translations = sprintf( "<script%s id='%s-js-translations'>\n%s\n</script>\n", $this->type_attr, esc_attr( $handle ), $translations );
|
||||||
|
}
|
||||||
|
|
||||||
if ( $this->do_concat ) {
|
if ( $this->do_concat ) {
|
||||||
/**
|
/**
|
||||||
* Filters the script loader source.
|
* Filters the script loader source.
|
||||||
@ -322,7 +327,7 @@ class WP_Scripts extends WP_Dependencies {
|
|||||||
*/
|
*/
|
||||||
$srce = apply_filters( 'script_loader_src', $src, $handle );
|
$srce = apply_filters( 'script_loader_src', $src, $handle );
|
||||||
|
|
||||||
if ( $this->in_default_dir( $srce ) && ( $before_handle || $after_handle ) ) {
|
if ( $this->in_default_dir( $srce ) && ( $before_handle || $after_handle || $translations ) ) {
|
||||||
$this->do_concat = false;
|
$this->do_concat = false;
|
||||||
|
|
||||||
// Have to print the so-far concatenated scripts right away to maintain the right order.
|
// Have to print the so-far concatenated scripts right away to maintain the right order.
|
||||||
@ -364,11 +369,6 @@ class WP_Scripts extends WP_Dependencies {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$translations = $this->print_translations( $handle, false );
|
|
||||||
if ( $translations ) {
|
|
||||||
$translations = sprintf( "<script%s id='%s-js-translations'>\n%s\n</script>\n", $this->type_attr, esc_attr( $handle ), $translations );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! preg_match( '|^(https?:)?//|', $src ) && ! ( $this->content_url && 0 === strpos( $src, $this->content_url ) ) ) {
|
if ( ! preg_match( '|^(https?:)?//|', $src ) && ! ( $this->content_url && 0 === strpos( $src, $this->content_url ) ) ) {
|
||||||
$src = $this->base_url . $src;
|
$src = $this->base_url . $src;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user