The lang_codes WordPress PHP Filter allows you to modify the language codes array.
Usage
add_filter('lang_codes', 'your_custom_function', 10, 2);
function your_custom_function($lang_codes, $code) {
// your custom code here
return $lang_codes;
}
Parameters
- $lang_codes (array): An array of key/value pairs of language codes where the key is the short version.
- $code (string): A two-letter designation of the language.
More information
See WordPress Developer Resources: lang_codes
Examples
Add a custom language code
Add a custom language code to the language codes array.
add_filter('lang_codes', 'add_custom_language_code', 10, 2);
function add_custom_language_code($lang_codes, $code) {
$lang_codes['xx'] = 'Custom Language';
return $lang_codes;
}
Remove a language code
Remove a specific language code from the language codes array.
add_filter('lang_codes', 'remove_language_code', 10, 2);
function remove_language_code($lang_codes, $code) {
unset($lang_codes['fr']);
return $lang_codes;
}
Modify a language code
Change the display name for a specific language code.
add_filter('lang_codes', 'modify_language_code', 10, 2);
function modify_language_code($lang_codes, $code) {
if ($code == 'en') {
$lang_codes[$code] = 'English (Modified)';
}
return $lang_codes;
}
Filter language codes by condition
Filter the language codes array based on a condition (e.g., only European languages).
add_filter('lang_codes', 'filter_language_codes', 10, 2);
function filter_language_codes($lang_codes, $code) {
$european_languages = ['en', 'fr', 'de', 'es', 'it'];
return array_intersect_key($lang_codes, array_flip($european_languages));
}
Sort language codes alphabetically
Sort the language codes array alphabetically by their display names.
add_filter('lang_codes', 'sort_language_codes', 10, 2);
function sort_language_codes($lang_codes, $code) {
asort($lang_codes);
return $lang_codes;
}