get_available_languages()
get
get_available_languages( string $dir = null ): string[]
Nhận tất cả các ngôn ngữ có sẵn dựa trên sự hiện diện của các tệp *.mo và *.l10n.php trong một thư mục nhất định.
function get_available_languages( $dir = null ) {
global $wp_textdomain_registry;
$languages = array();
$path = is_null( $dir ) ? WP_LANG_DIR : $dir;
$lang_files = $wp_textdomain_registry->get_language_files_from_path( $path );
if ( $lang_files ) {
foreach ( $lang_files as $lang_file ) {
$lang_file = basename( $lang_file, '.mo' );
$lang_file = basename( $lang_file, '.l10n.php' );
if ( ! str_starts_with( $lang_file, 'continents-cities' ) && ! str_starts_with( $lang_file, 'ms-' ) &&
! str_starts_with( $lang_file, 'admin-' ) ) {
$languages[] = $lang_file;
}
}
}
/**
* Filters the list of available language codes.
*
* @since 4.7.0
*
* @param string[] $languages An array of available language codes.
* @param string $dir The directory where the language files were found.
*/
return apply_filters( 'get_available_languages', array_unique( $languages ), $dir );
}
Ví dụ 1: Lấy danh sách ngôn ngữ hiện có
$languages = get_available_languages();
$select_lang = wp_dropdown_languages(
array(
'name' => 'locale',
'id' => 'locale',
'selected' => $locale,
'languages' => $languages,
'show_available_translations' => false, //$can_install_translations,
'show_option_site_default' => false,
'echo' => false
)
);
//TRả về dropdownlist ngôn ngữ