bbp_get_user_languages_dropdown( array $args = array() )
Return the select element used to save a user’s language.
Description Description
Parameters Parameters
- $args
-
(Optional) See wp_dropdown_languages()
Default value: array()
Return Return
(string)
Source Source
File: includes/users/template.php
function bbp_get_user_languages_dropdown( $args = array() ) {
// Get user language
$user_id = ! empty( $args['user_id'] )
? bbp_get_user_id( $args['user_id'], false, false )
: bbp_get_displayed_user_id();
// Get user locale
$user_locale = ! empty( $user_id )
? get_userdata( $user_id )->locale
: 'site-default';
// Get all languages
$languages = get_available_languages();
// No locale for English
if ( 'en_US' === $user_locale ) {
$user_locale = '';
// Fallback to site-default if there is a mismatch
} elseif ( '' === $user_locale || ! in_array( $user_locale, $languages, true ) ) {
$user_locale = 'site-default';
}
// Don't pass user ID in
unset( $args['user_id'] );
// Parse arguments
$r = bbp_parse_args( $args, array(
'name' => 'locale',
'id' => 'locale',
'selected' => $user_locale,
'languages' => $languages,
'echo' => false,
'show_available_translations' => false,
'show_option_site_default' => true
), 'user_languages_dropdown' );
// Get the markup for the languages drop-down
$retval = wp_dropdown_languages( $r );
// Filter & return
return apply_filters( 'bbp_get_user_languages_dropdown', $retval, $r, $args );
}
Changelog Changelog
| Version | Description |
|---|---|
| 2.6.0 | Introduced. |