PluginProbe
Polylang / trunk
Polylang vtrunk
3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 3.8.3 2.7 2.7.0.1 2.7.1 2.7.2 2.7.3 2.7.4 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 3.0 3.0.1 3.0.2 3.0.3 All 233 releases
← All changes | src/language-factory.php +28 -13 3.8.8 → trunk View file →
@@ -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