| @@ -81,8 +81,10 @@ | ||
| 81 | 81 | 'slug' => $terms['language']->slug, |
| 82 | 82 | 'term_group' => $terms['language']->term_group, |
| 83 | 83 | 'term_props' => array(), |
| 84 | 84 | 'is_default' => $this->options['default_lang'] === $terms['language']->slug, |
| 85 | + 'flag_code' => '', | |
| 86 | + 'locale' => '', | |
| 85 | 87 | ); |
| 86 | 88 | |
| 87 | 89 | foreach ( $terms as $term ) { |
| 88 | 90 | $data['term_props'][ $term->taxonomy ] = array( |
| @@ -182,8 +184,32 @@ | ||
| 182 | 184 | if ( array_key_exists( 'fallbacks', $data ) && ! is_array( $data['fallbacks'] ) ) { |
| 183 | 185 | unset( $data['fallbacks'] ); |
| 184 | 186 | } |
| 185 | 187 | |
| 188 | + $data['admin_flag'] = array(); | |
| 189 | + | |
| 190 | + if ( ! empty( $data['flag'] ) ) { | |
| 191 | + $data['admin_flag']['aria-hidden'] = str_replace( '<img', '<img aria-hidden="true" tabindex="-1"', $data['flag'] ); | |
| 192 | + $data['admin_flag'][''] = str_replace( | |
| 193 | + '<img', | |
| 194 | + sprintf( | |
| 195 | + '<img lang="%1$s" dir="%2$s"', | |
| 196 | + esc_attr( $data['w3c'] ), | |
| 197 | + $data['is_rtl'] ? 'rtl' : 'ltr' | |
| 198 | + ), | |
| 199 | + $data['flag'] | |
| 200 | + ); | |
| 201 | + } else { | |
| 202 | + $data['admin_flag']['aria-hidden'] = sprintf( '<abbr aria-hidden="true" tabindex="-1">%s</abbr>', esc_html( strtoupper( $data['slug'] ) ) ); | |
| 203 | + $data['admin_flag'][''] = sprintf( | |
| 204 | + '<abbr title="%1$s" lang="%2$s" dir="%3$s">%4$s</abbr>', | |
| 205 | + esc_attr( $data['name'] ), | |
| 206 | + esc_attr( $data['w3c'] ), | |
| 207 | + $data['is_rtl'] ? 'rtl' : 'ltr', | |
| 208 | + esc_html( strtoupper( $data['slug'] ) ) | |
| 209 | + ); | |
| 210 | + } | |
| 211 | + | |
| 186 | 212 | /** |
| 187 | 213 | * @var LanguageData |
| 188 | 214 | */ |
| 189 | 215 | return $data; |
| @@ -210,9 +236,9 @@ | ||
| 210 | 236 | /** |
| 211 | 237 | * Creates flag_url and flag language properties. Also takes care of custom flag. |
| 212 | 238 | * |
| 213 | 239 | * @since 1.2 |
| 214 | - * @since 3.4 Moved from `PLL_Language`to `PLL_Language_Factory` and renamed | |
| 240 | + * @since 3.4 Moved from `PLL_Language` to `PLL_Language_Factory` and renamed | |
| 215 | 241 | * in favor of `get_flag()` (formerly `set_flag()`). |
| 216 | 242 | * |
| 217 | 243 | * @param string $flag_code Flag code. |
| 218 | 244 | * @param string $name Language name. |
| @@ -280,19 +306,8 @@ | ||
| 280 | 306 | } else { |
| 281 | 307 | unset( $flags['custom_flag'] ); |
| 282 | 308 | } |
| 283 | 309 | |
| 284 | - /** | |
| 285 | - * Filters the flag title attribute. | |
| 286 | - * Defaults to the language name. | |
| 287 | - * | |
| 288 | - * @since 0.7 | |
| 289 | - * | |
| 290 | - * @param string $title The flag title attribute. | |
| 291 | - * @param string $slug The language code. | |
| 292 | - * @param string $locale The language locale. | |
| 293 | - */ | |
| 294 | - $title = apply_filters( 'pll_flag_title', $name, $slug, $locale ); | |
| 295 | 310 | $return = array(); |
| 296 | 311 | |
| 297 | 312 | /** |
| 298 | 313 | * @var array{ |
| @@ -322,9 +337,9 @@ | ||
| 322 | 337 | * @param string $slug Language code. |
| 323 | 338 | */ |
| 324 | 339 | $return[ $key ] = apply_filters( |
| 325 | 340 | 'pll_get_flag', |
| 326 | - PLL_Language::get_flag_html( $flag, $title, $name ), | |
| 341 | + PLL_Language::get_flag_html( $flag, $name ), | |
| 327 | 342 | $slug |
| 328 | 343 | ); |
| 329 | 344 | } |
| 330 | 345 | |