| | 125 | <?php |
| | 126 | // Site Language. |
| | 127 | |
| | 128 | /** |
| | 129 | * Filter the list of available languages for front-end site signups. |
| | 130 | * |
| | 131 | * Passing an empty array to this hook will effectively disable output of the setting |
| | 132 | * on the signup form, and the default language will be used when creating the site. |
| | 133 | * |
| | 134 | * Languages not already installed will be stripped. |
| | 135 | * |
| | 136 | * @since 4.4.0 |
| | 137 | * |
| | 138 | * @param array $available_languages Available languages. |
| | 139 | */ |
| | 140 | $languages = (array) apply_filters( 'signup_available_languages', get_available_languages() ); |
| | 141 | |
| | 142 | /* |
| | 143 | * Strip any not-installed languages. |
| | 144 | * |
| | 145 | * We re-call get_available_languages() here in case a language pack was installed |
| | 146 | * in the 'signup_available_languages' callback before this point. |
| | 147 | */ |
| | 148 | $languages = array_intersect_assoc( $languages, get_available_languages() ); |
| | 149 | |
| | 150 | if ( ! empty( $languages ) ) : |
| | 151 | ?> |
| | 152 | <p> |
| | 153 | <label for="site-language"><?php _e( 'Site Language:' ); ?></label> |
| | 154 | <?php |
| | 155 | // Network default. |
| | 156 | $lang = get_site_option( 'WPLANG' ); |
| | 157 | |
| | 158 | // Use English if the default isn't available. |
| | 159 | if ( ! in_array( $lang, $languages ) ) { |
| | 160 | $lang = ''; |
| | 161 | } |
| | 162 | |
| | 163 | wp_dropdown_languages( array( |
| | 164 | 'name' => 'WPLANG', |
| | 165 | 'id' => 'site-language', |
| | 166 | 'selected' => $lang, |
| | 167 | 'languages' => $languages, |
| | 168 | 'show_available_translations' => false, |
| | 169 | ) ); |
| | 170 | ?> |
| | 171 | </p> |
| | 172 | <?php endif; // Languages. ?> |
| | 173 | |