WP_Scripts::print_translations( string $handle, bool $echo = true )
Prints translations set for a specific handle.
Parameters
- $handle
-
(string) (Required) Name of the script to add the inline script to. Must be lowercase.
- $echo
-
(bool) (Optional) Whether to echo the script instead of just returning it.
Default value: true
Return
(string|false) Script on success, false otherwise.
Source
File: wp-includes/class.wp-scripts.php
public function print_translations( $handle, $echo = true ) { if ( ! isset( $this->registered[ $handle ] ) || empty( $this->registered[ $handle ]->textdomain ) ) { return false; } $domain = $this->registered[ $handle ]->textdomain; $path = $this->registered[ $handle ]->translations_path; $json_translations = load_script_textdomain( $handle, $domain, $path ); if ( ! $json_translations ) { // Register empty locale data object to ensure the domain still exists. $json_translations = '{ "locale_data": { "messages": { "": {} } } }'; } $output = <<<JS ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "{$domain}", {$json_translations} ); JS; if ( $echo ) { printf( "<script%s id='%s-js-translations'>\n%s\n</script>\n", $this->type_attr, esc_attr( $handle ), $output ); } return $output; }
Changelog
Version | Description |
---|---|
5.0.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_scripts/print_translations