| @@ -22,9 +22,9 @@ | ||
| 22 | 22 | if ( ! empty( $attributes['displayAsDropdown'] ) ) { |
| 23 | 23 | |
| 24 | 24 | $class .= ' wp-block-archives-dropdown'; |
| 25 | 25 | |
| 26 | - $dropdown_id = uniqid( 'wp-block-archives-' ); | |
| 26 | + $dropdown_id = esc_attr( uniqid( 'wp-block-archives-' ) ); | |
| 27 | 27 | $title = __( 'Archives' ); |
| 28 | 28 | |
| 29 | 29 | /** This filter is documented in wp-includes/widgets/class-wp-widget-archives.php */ |
| 30 | 30 | $dropdown_args = apply_filters( |
| @@ -39,12 +39,8 @@ | ||
| 39 | 39 | $dropdown_args['echo'] = 0; |
| 40 | 40 | |
| 41 | 41 | $archives = wp_get_archives( $dropdown_args ); |
| 42 | 42 | |
| 43 | - $classnames = esc_attr( $class ); | |
| 44 | - | |
| 45 | - $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classnames ) ); | |
| 46 | - | |
| 47 | 43 | switch ( $dropdown_args['type'] ) { |
| 48 | 44 | case 'yearly': |
| 49 | 45 | $label = __( 'Select Year' ); |
| 50 | 46 | break; |
| @@ -61,15 +57,17 @@ | ||
| 61 | 57 | $label = __( 'Select Post' ); |
| 62 | 58 | break; |
| 63 | 59 | } |
| 64 | 60 | |
| 65 | - $block_content = '<label for="' . esc_attr( $dropdown_id ) . '">' . esc_html( $title ) . '</label> | |
| 66 | - <select id="' . esc_attr( $dropdown_id ) . '" name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;"> | |
| 67 | - <option value="">' . esc_html( $label ) . '</option>' . $archives . '</select>'; | |
| 61 | + $label = esc_html( $label ); | |
| 68 | 62 | |
| 63 | + $block_content = '<label class="screen-reader-text" for="' . $dropdown_id . '">' . $title . '</label> | |
| 64 | + <select id="' . $dropdown_id . '" name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;"> | |
| 65 | + <option value="">' . $label . '</option>' . $archives . '</select>'; | |
| 66 | + | |
| 69 | 67 | return sprintf( |
| 70 | - '<div %1$s>%2$s</div>', | |
| 71 | - $wrapper_attributes, | |
| 68 | + '<div class="%1$s">%2$s</div>', | |
| 69 | + esc_attr( $class ), | |
| 72 | 70 | $block_content |
| 73 | 71 | ); |
| 74 | 72 | } |
| 75 | 73 | |
| @@ -87,9 +85,11 @@ | ||
| 87 | 85 | $archives_args['echo'] = 0; |
| 88 | 86 | |
| 89 | 87 | $archives = wp_get_archives( $archives_args ); |
| 90 | 88 | |
| 91 | - $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $class ) ); | |
| 89 | + $classnames = esc_attr( $class ); | |
| 90 | + | |
| 91 | + $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classnames ) ); | |
| 92 | 92 | |
| 93 | 93 | if ( empty( $archives ) ) { |
| 94 | 94 | return sprintf( |
| 95 | 95 | '<div %1$s>%2$s</div>', |