関数 wp_dropdown_languages()
2015/01/10
関数 wp_dropdown_languages()
定義ファイル :/blog/wp-includes/l10n.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | function wp_dropdown_languages( $args = array() ) { require_once( ABSPATH . 'wp-admin/includes/translation-install.php' ); $args = wp_parse_args( $args, array( 'id' => '', 'name' => '', 'languages' => array(), 'selected' => '' ) ); if ( empty( $args['languages'] ) ) { return false; } $translations = wp_get_available_translations(); $languages = array(); foreach ( $args['languages'] as $locale ) { if ( isset( $translations[ $locale ] ) ) { $translation = $translations[ $locale ]; $languages[] = array( 'language' => $translation['language'], 'native_name' => $translation['native_name'], 'lang' => $translation['iso'][1], ); } else { $languages[] = array( 'language' => $locale, 'native_name' => $locale, 'lang' => '', ); } } printf( '<select name="%s" id="%s">', esc_attr( $args['name'] ), esc_attr( $args['id'] ) ); // List installed languages. echo '<option value="" lang="en">English (United States)</option>'; foreach ( $languages as $language ) { $selected = selected( $language['language'], $args['selected'], false ); printf( '<option value="%s" lang="%s"%s>%s</option>', esc_attr( $language['language'] ), esc_attr( $language['lang'] ), $selected, esc_html( $language['native_name'] ) ); } echo '</select>'; } |