Loads the child theme’s translated strings.
Description
If the current locale exists as a .mo file in the child theme’s root directory, it will be included in the translated strings by the $domain.
The .mo files must be named based on the locale exactly.
Parameters
$domain
stringrequired- Text domain. Unique identifier for retrieving translated strings.
$path
string|falseoptional- Path to the directory containing the .mo file.
Default:
false
Source
function load_child_theme_textdomain( $domain, $path = false ) {
if ( ! $path ) {
$path = get_stylesheet_directory();
}
return load_theme_textdomain( $domain, $path );
}
Changelog
Version | Description |
---|---|
2.9.0 | Introduced. |
The load_child_theme_textdomain() function should generally be called from within the after_setup_theme action hook, just the same as with its related load_theme_textdomain() function.
‘my_parent_theme’ = The name of the Main theme
The .mo files must use language-only filenames, like languages/de_DE.mo in your child theme directory.
Unlike plugin language files, a name like my_child_theme-de_DE.mo will NOT work. Although plugin language files allow you to specify the text-domain in the filename, this will NOT work with themes and child themes. Language files for themes should include the language shortcut ONLY.
Might be useful for beginners to also know that in the note above
‘wpdocs_child_theme_setup’ = The name of your child theme,
hence that needs to be changed in line 4 and line 7 in the code snippet shown above.
And in that same example the .mo and .po files are not uploaded to the child-theme root, but to a folder named languages inside the child-folder.
You need only update the
PARENTTHEMENAME
to the parent theme directory name. Put the .MO and .PO files in a folder called ‘languages’ under the child theme directory.add_action( 'after_setup_theme', function() { load_child_theme_textdomain( 'my_parent_theme', get_stylesheet_directory() . '/languages' ); } );
Or, from PHP 7.4+add_action( 'after_setup_theme', () => { load_child_theme_textdomain( 'my_parent_theme', get_stylesheet_directory() . '/languages' ); } );