render_block_data` instead.' ) ); } $block_type = WP_Block_Type_Registry::get_instance()->get_registered( $parsed_block['blockName'] ); $element_block_styles = isset( $parsed_block['attrs']['style']['elements'] ) ? $parsed_block['attrs']['style']['elements'] : null; if ( ! $element_block_styles ) { return $parsed_block; } $skip_link_color_serialization = wp_should_skip_block_supports_serialization( $block_type, 'color', 'link' ); $skip_heading_color_serialization = wp_should_skip_block_supports_serialization( $block_type, 'color', 'heading' ); $skip_button_color_serialization = wp_should_skip_block_supports_serialization( $block_type, 'color', 'button' ); $skips_all_element_color_serialization = $skip_link_color_serialization && $skip_heading_color_serialization && $skip_button_color_serialization; if ( $skips_all_element_color_serialization ) { return $parsed_block; } $options = array( 'button' => array( 'skip' => $skip_button_color_serialization ), 'link' => array( 'skip' => $skip_link_color_serialization ), 'heading' => array( 'skip' => $skip_heading_color_serialization ), ); if ( ! wp_should_add_elements_class_name( $parsed_block, $options ) ) { return $parsed_block; } $class_name = wp_get_elements_class_name( $parsed_block ); $updated_class_name = isset( $parsed_block['attrs']['className'] ) ? $parsed_block['attrs']['className'] . " $class_name" : $class_name; _wp_array_set( $parsed_block, array( 'attrs', 'className' ), $updated_class_name ); // Generate element styles based on selector and store in style engine for enqueuing. $element_types = array( 'button' => array( 'selector' => ".$class_name .wp-element-button, .$class_name .wp-block-button__link", 'skip' => $skip_button_color_serialization, ), 'link' => array( 'selector' => ".$class_name a:where(:not(.wp-element-button))", 'hover_selector' => ".$class_name a:where(:not(.wp-element-button)):hover", 'skip' => $skip_link_color_serialization, ), 'heading' => array( 'selector' => ".$class_name h1, .$class_name h2, .$class_name h3, .$class_name h4, .$class_name h5, .$class_name h6", 'skip' => $skip_heading_color_serialization, 'elements' => array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ), ), ); foreach ( $element_types as $element_type => $element_config ) { if ( $element_config['skip'] ) { continue; } $element_style_object = isset( $element_block_styles[ $element_type ] ) ? $element_block_styles[ $element_type ] : null; // Process primary element type styles. if ( $element_style_object ) { wp_style_engine_get_styles( $element_style_object, array( 'selector' => $element_config['selector'], 'context' => 'block-supports', ) ); if ( isset( $element_style_object[':hover'] ) ) { wp_style_engine_get_styles( $element_style_object[':hover'], array( 'selector' => $element_config['hover_selector'], 'context' => 'block-supports', ) ); } } // Process related elements e.g. h1-h6 for headings. if ( isset( $element_config['elements'] ) ) { foreach ( $element_config['elements'] as $element ) { $element_style_object = isset( $element_block_styles[ $element ] ) ? $element_block_styles[ $element ] : null; if ( $element_style_object ) { wp_style_engine_get_styles( $element_style_object, array( 'selector' => ".$class_name $element", 'context' => 'block-supports', ) ); } } } } return $parsed_block; } /** * Ensure the elements block support class name generated, and added to * block attributes, in the `render_block_data` filter gets applied to the * block's markup. * * @see wp_render_elements_support_styles * @since 6.6.0 * * @param string $block_content Rendered block content. * @param array $block Block object. * @return string Filtered block content. */ function wp_render_elements_class_name( $block_content, $block ) { $class_string = $block['attrs']['className'] ?? ''; preg_match( '/\bwp-elements-\S+\b/', $class_string, $matches ); if ( empty( $matches ) ) { return $block_content; } $tags = new WP_HTML_Tag_Processor( $block_content ); if ( $tags->next_tag() ) { $tags->add_class( $matches[0] ); } return $tags->get_updated_html(); } add_filter( 'render_block', 'wp_render_elements_class_name', 10, 2 ); add_filter( 'render_block_data', 'wp_render_elements_support_styles', 10, 1 ); Přestřelila Černochová, nebo ruský ambasador při OSN? – Eva Decroix
23. srpna 2022

Přestřelila Černochová, nebo ruský ambasador při OSN?

V úterý večer došlo k ostré názorové výměně mezi ministryní obrany Janou Černochovou (ODS) a ruským velvyslancem při OSN Vasilijem Něbenzjou. Spor vedli kvůli slovům české političky o tom, že jí není líto smrti Darji Duginové, dcery ruského ultranacionalistického ideologa Alexandera Dugina. Padala obvinění z podpory terorismu i fašismu. Téma komentovala v pořadu 360° na CNN Prima NEWS první místopředsedkyně poslaneckého klubu Eva Decroix (ODS)

Ministryně obrany se zastala její stranická kolegyně Eva Decroix: „Asi bych i souhlasila s tím, že mlčeti zlato. Pokud by se vaše věta vztahovala k vyjádřením ruského velvyslance. Tam opravdu mlčeti zlato. Jestli tato osoba za probíhající války, kdy je Rusko podezřelé z páchání genocidy, má největší problém zrovna s vyjádřením české ministryně.“

Decroix: Juchelka žije v minulém století

Na podobnou věc v pořadu 360° upozorňovala Decroix. „Poslední prohlášení Duginové před smrtí podle jejího otce bylo, že prý bude bojovat za sovětské impérium. Ano, každého lidského života je škoda, ale mlčeti zlato se zde vztahuje na ruského velvyslance. Paní ministryně obrany si moc vážím. I její odvahy reagovat, když věci nejsou černobílé. Tady to ale morálně černobílé je,“ řekla Decroix.

Rovněž si rýpla do poslance Juchelky za jeho výroky o sociálních sítích. „Mám pocit, že pan Juchelka žije v minulém století. Na jednu stranu kritizuje komunikování na sociálních sítích, na té druhé vyčítá vládě špatnou komunikaci. Pokud vím, i pan předseda ANO Andrej Babiš hodně komunikuje na sítích. Bohužel žijeme v době, kdy jsou sociální sítě nezbytnou součástí komunikační a mediální agendy.“

Celou debatu s Evou Decroix můžete zhlédnout na CNN Prima News.