mu_dropdown_languages

The timeline below displays how wordpress function mu_dropdown_languages has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.4

// See "import_allow_fetch_attachments" and "import_attachment_size_limit" filters too.
/**
 * Generates and displays a drop-down of available languages.
 *
 * @since 3.0.0
 *
 * @param string[] $lang_files Optional. An array of the language files. Default empty array.
 * @param string   $current    Optional. The current language code. Default empty.
 */
function mu_dropdown_languages($lang_files = array(), $current = '')
{
    $flag = false;
    $output = array();
    foreach ((array) $lang_files as $val) {
        $code_lang = basename($val, '.mo');
        if ('en_US' === $code_lang) {
            // American English.
            $flag = true;
            $ae = __('American English');
            $output[$ae] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $ae . '</option>';
        } elseif ('en_GB' === $code_lang) {
            // British English.
            $flag = true;
            $be = __('British English');
            $output[$be] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $be . '</option>';
        } else {
            $translated = format_code_lang($code_lang);
            $output[$translated] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . esc_html($translated) . '</option>';
        }
    }
    if (false === $flag) {
        // WordPress English.
        $output[] = '<option value=""' . selected($current, '', false) . '>' . __('English') . '</option>';
    }
    // Order by name.
    uksort($output, 'strnatcasecmp');
    /**
     * Filters the languages available in the dropdown.
     *
     * @since MU (3.0.0)
     *
     * @param string[] $output     Array of HTML output for the dropdown.
     * @param string[] $lang_files Array of available language files.
     * @param string   $current    The current language code.
     */
    $output = apply_filters('mu_dropdown_languages', $output, $lang_files, $current);
    echo implode("\n\t", $output);
}

WordPress Version: 5.1

// See "import_allow_fetch_attachments" and "import_attachment_size_limit" filters too.
/**
 * Generates and displays a drop-down of available languages.
 *
 * @since 3.0.0
 *
 * @param string[] $lang_files Optional. An array of the language files. Default empty array.
 * @param string   $current    Optional. The current language code. Default empty.
 */
function mu_dropdown_languages($lang_files = array(), $current = '')
{
    $flag = false;
    $output = array();
    foreach ((array) $lang_files as $val) {
        $code_lang = basename($val, '.mo');
        if ($code_lang == 'en_US') {
            // American English
            $flag = true;
            $ae = __('American English');
            $output[$ae] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $ae . '</option>';
        } elseif ($code_lang == 'en_GB') {
            // British English
            $flag = true;
            $be = __('British English');
            $output[$be] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $be . '</option>';
        } else {
            $translated = format_code_lang($code_lang);
            $output[$translated] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . esc_html($translated) . '</option>';
        }
    }
    if ($flag === false) {
        // WordPress english
        $output[] = '<option value=""' . selected($current, '', false) . '>' . __('English') . '</option>';
    }
    // Order by name
    uksort($output, 'strnatcasecmp');
    /**
     * Filters the languages available in the dropdown.
     *
     * @since MU (3.0.0)
     *
     * @param string[] $output     Array of HTML output for the dropdown.
     * @param string[] $lang_files Array of available language files.
     * @param string   $current    The current language code.
     */
    $output = apply_filters('mu_dropdown_languages', $output, $lang_files, $current);
    echo implode("\n\t", $output);
}

WordPress Version: 4.9

// See "import_allow_fetch_attachments" and "import_attachment_size_limit" filters too.
/**
 * Generates and displays a drop-down of available languages.
 *
 * @since 3.0.0
 *
 * @param array  $lang_files Optional. An array of the language files. Default empty array.
 * @param string $current    Optional. The current language code. Default empty.
 */
function mu_dropdown_languages($lang_files = array(), $current = '')
{
    $flag = false;
    $output = array();
    foreach ((array) $lang_files as $val) {
        $code_lang = basename($val, '.mo');
        if ($code_lang == 'en_US') {
            // American English
            $flag = true;
            $ae = __('American English');
            $output[$ae] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $ae . '</option>';
        } elseif ($code_lang == 'en_GB') {
            // British English
            $flag = true;
            $be = __('British English');
            $output[$be] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $be . '</option>';
        } else {
            $translated = format_code_lang($code_lang);
            $output[$translated] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . esc_html($translated) . '</option>';
        }
    }
    if ($flag === false) {
        // WordPress english
        $output[] = '<option value=""' . selected($current, '', false) . '>' . __('English') . "</option>";
    }
    // Order by name
    uksort($output, 'strnatcasecmp');
    /**
     * Filters the languages available in the dropdown.
     *
     * @since MU (3.0.0)
     *
     * @param array $output     HTML output of the dropdown.
     * @param array $lang_files Available language files.
     * @param string $current   The current language code.
     */
    $output = apply_filters('mu_dropdown_languages', $output, $lang_files, $current);
    echo implode("\n\t", $output);
}

WordPress Version: 4.6

// See "import_allow_fetch_attachments" and "import_attachment_size_limit" filters too.
/**
 * Generates and displays a drop-down of available languages.
 *
 * @since 3.0.0
 *
 * @param array  $lang_files Optional. An array of the language files. Default empty array.
 * @param string $current    Optional. The current language code. Default empty.
 */
function mu_dropdown_languages($lang_files = array(), $current = '')
{
    $flag = false;
    $output = array();
    foreach ((array) $lang_files as $val) {
        $code_lang = basename($val, '.mo');
        if ($code_lang == 'en_US') {
            // American English
            $flag = true;
            $ae = __('American English');
            $output[$ae] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $ae . '</option>';
        } elseif ($code_lang == 'en_GB') {
            // British English
            $flag = true;
            $be = __('British English');
            $output[$be] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $be . '</option>';
        } else {
            $translated = format_code_lang($code_lang);
            $output[$translated] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . esc_html($translated) . '</option>';
        }
    }
    if ($flag === false) {
        // WordPress english
        $output[] = '<option value=""' . selected($current, '', false) . '>' . __('English') . "</option>";
    }
    // Order by name
    uksort($output, 'strnatcasecmp');
    /**
     * Filters the languages available in the dropdown.
     *
     * @since MU
     *
     * @param array $output     HTML output of the dropdown.
     * @param array $lang_files Available language files.
     * @param string $current   The current language code.
     */
    $output = apply_filters('mu_dropdown_languages', $output, $lang_files, $current);
    echo implode("\n\t", $output);
}

WordPress Version: 4.1

// See "import_allow_fetch_attachments" and "import_attachment_size_limit" filters too.
/**
 * Generates and displays a drop-down of available languages.
 *
 * @since 3.0.0
 *
 * @param array  $lang_files Optional. An array of the language files. Default empty array.
 * @param string $current    Optional. The current language code. Default empty.
 */
function mu_dropdown_languages($lang_files = array(), $current = '')
{
    $flag = false;
    $output = array();
    foreach ((array) $lang_files as $val) {
        $code_lang = basename($val, '.mo');
        if ($code_lang == 'en_US') {
            // American English
            $flag = true;
            $ae = __('American English');
            $output[$ae] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $ae . '</option>';
        } elseif ($code_lang == 'en_GB') {
            // British English
            $flag = true;
            $be = __('British English');
            $output[$be] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $be . '</option>';
        } else {
            $translated = format_code_lang($code_lang);
            $output[$translated] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . esc_html($translated) . '</option>';
        }
    }
    if ($flag === false) {
        // WordPress english
        $output[] = '<option value=""' . selected($current, '', false) . '>' . __('English') . "</option>";
    }
    // Order by name
    uksort($output, 'strnatcasecmp');
    /**
     * Filter the languages available in the dropdown.
     *
     * @since MU
     *
     * @param array $output     HTML output of the dropdown.
     * @param array $lang_files Available language files.
     * @param string $current   The current language code.
     */
    $output = apply_filters('mu_dropdown_languages', $output, $lang_files, $current);
    echo implode("\n\t", $output);
}

WordPress Version: 3.7

// See "import_allow_fetch_attachments" and "import_attachment_size_limit" filters too.
function mu_dropdown_languages($lang_files = array(), $current = '')
{
    $flag = false;
    $output = array();
    foreach ((array) $lang_files as $val) {
        $code_lang = basename($val, '.mo');
        if ($code_lang == 'en_US') {
            // American English
            $flag = true;
            $ae = __('American English');
            $output[$ae] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $ae . '</option>';
        } elseif ($code_lang == 'en_GB') {
            // British English
            $flag = true;
            $be = __('British English');
            $output[$be] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . $be . '</option>';
        } else {
            $translated = format_code_lang($code_lang);
            $output[$translated] = '<option value="' . esc_attr($code_lang) . '"' . selected($current, $code_lang, false) . '> ' . esc_html($translated) . '</option>';
        }
    }
    if ($flag === false) {
        // WordPress english
        $output[] = '<option value=""' . selected($current, '', false) . '>' . __('English') . "</option>";
    }
    // Order by name
    uksort($output, 'strnatcasecmp');
    /**
     * Filter the languages available in the dropdown.
     *
     * @since MU
     *
     * @param array $output     HTML output of the dropdown.
     * @param array $lang_files Available language files.
     * @param string $current   The current language code.
     */
    $output = apply_filters('mu_dropdown_languages', $output, $lang_files, $current);
    echo implode("\n\t", $output);
}