equal
deleted
inserted
replaced
26 |
26 |
27 if ( ! empty( $attributes['displayAsDropdown'] ) ) { |
27 if ( ! empty( $attributes['displayAsDropdown'] ) ) { |
28 $id = 'wp-block-categories-' . $block_id; |
28 $id = 'wp-block-categories-' . $block_id; |
29 $args['id'] = $id; |
29 $args['id'] = $id; |
30 $args['show_option_none'] = __( 'Select Category' ); |
30 $args['show_option_none'] = __( 'Select Category' ); |
31 $wrapper_markup = '<div class="%1$s">%2$s</div>'; |
31 $wrapper_markup = '<div %1$s><label class="screen-reader-text" for="' . $id . '">' . __( 'Categories' ) . '</label>%2$s</div>'; |
32 $items_markup = wp_dropdown_categories( $args ); |
32 $items_markup = wp_dropdown_categories( $args ); |
33 $type = 'dropdown'; |
33 $type = 'dropdown'; |
34 |
34 |
35 if ( ! is_admin() ) { |
35 if ( ! is_admin() ) { |
36 $wrapper_markup .= build_dropdown_script_block_core_categories( $id ); |
36 // Inject the dropdown script immediately after the select dropdown. |
|
37 $items_markup = preg_replace( |
|
38 '#(?<=</select>)#', |
|
39 build_dropdown_script_block_core_categories( $id ), |
|
40 $items_markup, |
|
41 1 |
|
42 ); |
37 } |
43 } |
38 } else { |
44 } else { |
39 $wrapper_markup = '<ul class="%1$s">%2$s</ul>'; |
45 $wrapper_markup = '<ul %1$s>%2$s</ul>'; |
40 $items_markup = wp_list_categories( $args ); |
46 $items_markup = wp_list_categories( $args ); |
41 $type = 'list'; |
47 $type = 'list'; |
42 } |
48 } |
43 |
49 |
44 $class = "wp-block-categories wp-block-categories-{$type}"; |
50 $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => "wp-block-categories-{$type}" ) ); |
45 |
|
46 if ( isset( $attributes['align'] ) ) { |
|
47 $class .= " align{$attributes['align']}"; |
|
48 } |
|
49 |
|
50 if ( isset( $attributes['className'] ) ) { |
|
51 $class .= " {$attributes['className']}"; |
|
52 } |
|
53 |
51 |
54 return sprintf( |
52 return sprintf( |
55 $wrapper_markup, |
53 $wrapper_markup, |
56 esc_attr( $class ), |
54 $wrapper_attributes, |
57 $items_markup |
55 $items_markup |
58 ); |
56 ); |
59 } |
57 } |
60 |
58 |
61 /** |
59 /** |