Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-inclu.../blocks
File: navigation.php
$responsive_container_directives = '
[500] Fix | Delete
data-wp-class--has-modal-open="state.isMenuOpen"
[501] Fix | Delete
data-wp-class--is-menu-open="state.isMenuOpen"
[502] Fix | Delete
data-wp-watch="callbacks.initMenu"
[503] Fix | Delete
data-wp-on--keydown="actions.handleMenuKeydown"
[504] Fix | Delete
data-wp-on-async--focusout="actions.handleMenuFocusout"
[505] Fix | Delete
tabindex="-1"
[506] Fix | Delete
';
[507] Fix | Delete
$responsive_dialog_directives = '
[508] Fix | Delete
data-wp-bind--aria-modal="state.ariaModal"
[509] Fix | Delete
data-wp-bind--aria-label="state.ariaLabel"
[510] Fix | Delete
data-wp-bind--role="state.roleAttribute"
[511] Fix | Delete
';
[512] Fix | Delete
$close_button_directives = '
[513] Fix | Delete
data-wp-on-async--click="actions.closeMenuOnClick"
[514] Fix | Delete
';
[515] Fix | Delete
$responsive_container_content_directives = '
[516] Fix | Delete
data-wp-watch="callbacks.focusFirstElement"
[517] Fix | Delete
';
[518] Fix | Delete
}
[519] Fix | Delete
[520] Fix | Delete
$overlay_inline_styles = esc_attr( safecss_filter_attr( $colors['overlay_inline_styles'] ) );
[521] Fix | Delete
[522] Fix | Delete
return sprintf(
[523] Fix | Delete
'<button aria-haspopup="dialog" %3$s class="%6$s" %10$s>%8$s</button>
[524] Fix | Delete
<div class="%5$s" %7$s id="%1$s" %11$s>
[525] Fix | Delete
<div class="wp-block-navigation__responsive-close" tabindex="-1">
[526] Fix | Delete
<div class="wp-block-navigation__responsive-dialog" %12$s>
[527] Fix | Delete
<button %4$s class="wp-block-navigation__responsive-container-close" %13$s>%9$s</button>
[528] Fix | Delete
<div class="wp-block-navigation__responsive-container-content" %14$s id="%1$s-content">
[529] Fix | Delete
%2$s
[530] Fix | Delete
</div>
[531] Fix | Delete
</div>
[532] Fix | Delete
</div>
[533] Fix | Delete
</div>',
[534] Fix | Delete
esc_attr( $modal_unique_id ),
[535] Fix | Delete
$inner_blocks_html,
[536] Fix | Delete
$toggle_aria_label_open,
[537] Fix | Delete
$toggle_aria_label_close,
[538] Fix | Delete
esc_attr( implode( ' ', $responsive_container_classes ) ),
[539] Fix | Delete
esc_attr( implode( ' ', $open_button_classes ) ),
[540] Fix | Delete
( ! empty( $overlay_inline_styles ) ) ? "style=\"$overlay_inline_styles\"" : '',
[541] Fix | Delete
$toggle_button_content,
[542] Fix | Delete
$toggle_close_button_content,
[543] Fix | Delete
$open_button_directives,
[544] Fix | Delete
$responsive_container_directives,
[545] Fix | Delete
$responsive_dialog_directives,
[546] Fix | Delete
$close_button_directives,
[547] Fix | Delete
$responsive_container_content_directives
[548] Fix | Delete
);
[549] Fix | Delete
}
[550] Fix | Delete
[551] Fix | Delete
/**
[552] Fix | Delete
* Get the wrapper attributes
[553] Fix | Delete
*
[554] Fix | Delete
* @since 6.5.0
[555] Fix | Delete
*
[556] Fix | Delete
* @param array $attributes The block attributes.
[557] Fix | Delete
* @param WP_Block_List $inner_blocks A list of inner blocks.
[558] Fix | Delete
* @return string Returns the navigation block markup.
[559] Fix | Delete
*/
[560] Fix | Delete
private static function get_nav_wrapper_attributes( $attributes, $inner_blocks ) {
[561] Fix | Delete
$nav_menu_name = static::get_unique_navigation_name( $attributes );
[562] Fix | Delete
$is_interactive = static::is_interactive( $attributes, $inner_blocks );
[563] Fix | Delete
$is_responsive_menu = static::is_responsive( $attributes );
[564] Fix | Delete
$style = static::get_styles( $attributes );
[565] Fix | Delete
$class = static::get_classes( $attributes );
[566] Fix | Delete
$wrapper_attributes = get_block_wrapper_attributes(
[567] Fix | Delete
array(
[568] Fix | Delete
'class' => $class,
[569] Fix | Delete
'style' => $style,
[570] Fix | Delete
'aria-label' => $nav_menu_name,
[571] Fix | Delete
)
[572] Fix | Delete
);
[573] Fix | Delete
[574] Fix | Delete
if ( $is_responsive_menu ) {
[575] Fix | Delete
$nav_element_directives = static::get_nav_element_directives( $is_interactive );
[576] Fix | Delete
$wrapper_attributes .= ' ' . $nav_element_directives;
[577] Fix | Delete
}
[578] Fix | Delete
[579] Fix | Delete
return $wrapper_attributes;
[580] Fix | Delete
}
[581] Fix | Delete
[582] Fix | Delete
/**
[583] Fix | Delete
* Gets the nav element directives.
[584] Fix | Delete
*
[585] Fix | Delete
* @since 6.5.0
[586] Fix | Delete
*
[587] Fix | Delete
* @param bool $is_interactive Whether the block is interactive.
[588] Fix | Delete
* @return string the directives for the navigation element.
[589] Fix | Delete
*/
[590] Fix | Delete
private static function get_nav_element_directives( $is_interactive ) {
[591] Fix | Delete
if ( ! $is_interactive ) {
[592] Fix | Delete
return '';
[593] Fix | Delete
}
[594] Fix | Delete
// When adding to this array be mindful of security concerns.
[595] Fix | Delete
$nav_element_context = wp_interactivity_data_wp_context(
[596] Fix | Delete
array(
[597] Fix | Delete
'overlayOpenedBy' => array(
[598] Fix | Delete
'click' => false,
[599] Fix | Delete
'hover' => false,
[600] Fix | Delete
'focus' => false,
[601] Fix | Delete
),
[602] Fix | Delete
'type' => 'overlay',
[603] Fix | Delete
'roleAttribute' => '',
[604] Fix | Delete
'ariaLabel' => __( 'Menu' ),
[605] Fix | Delete
)
[606] Fix | Delete
);
[607] Fix | Delete
$nav_element_directives = '
[608] Fix | Delete
data-wp-interactive="core/navigation" '
[609] Fix | Delete
. $nav_element_context;
[610] Fix | Delete
[611] Fix | Delete
return $nav_element_directives;
[612] Fix | Delete
}
[613] Fix | Delete
[614] Fix | Delete
/**
[615] Fix | Delete
* Handle view script module loading.
[616] Fix | Delete
*
[617] Fix | Delete
* @since 6.5.0
[618] Fix | Delete
*
[619] Fix | Delete
* @param array $attributes The block attributes.
[620] Fix | Delete
* @param WP_Block $block The parsed block.
[621] Fix | Delete
* @param WP_Block_List $inner_blocks The list of inner blocks.
[622] Fix | Delete
*/
[623] Fix | Delete
private static function handle_view_script_module_loading( $attributes, $block, $inner_blocks ) {
[624] Fix | Delete
if ( static::is_interactive( $attributes, $inner_blocks ) ) {
[625] Fix | Delete
$suffix = wp_scripts_get_suffix();
[626] Fix | Delete
if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
[627] Fix | Delete
$module_url = gutenberg_url( '/build/interactivity/navigation.min.js' );
[628] Fix | Delete
}
[629] Fix | Delete
[630] Fix | Delete
wp_register_script_module(
[631] Fix | Delete
'@wordpress/block-library/navigation',
[632] Fix | Delete
isset( $module_url ) ? $module_url : includes_url( "blocks/navigation/view{$suffix}.js" ),
[633] Fix | Delete
array( '@wordpress/interactivity' ),
[634] Fix | Delete
defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
[635] Fix | Delete
);
[636] Fix | Delete
wp_enqueue_script_module( '@wordpress/block-library/navigation' );
[637] Fix | Delete
}
[638] Fix | Delete
}
[639] Fix | Delete
[640] Fix | Delete
/**
[641] Fix | Delete
* Returns the markup for the navigation block.
[642] Fix | Delete
*
[643] Fix | Delete
* @since 6.5.0
[644] Fix | Delete
*
[645] Fix | Delete
* @param array $attributes The block attributes.
[646] Fix | Delete
* @param WP_Block_List $inner_blocks The list of inner blocks.
[647] Fix | Delete
* @return string Returns the navigation wrapper markup.
[648] Fix | Delete
*/
[649] Fix | Delete
private static function get_wrapper_markup( $attributes, $inner_blocks ) {
[650] Fix | Delete
$inner_blocks_html = static::get_inner_blocks_html( $attributes, $inner_blocks );
[651] Fix | Delete
if ( static::is_responsive( $attributes ) ) {
[652] Fix | Delete
return static::get_responsive_container_markup( $attributes, $inner_blocks, $inner_blocks_html );
[653] Fix | Delete
}
[654] Fix | Delete
return $inner_blocks_html;
[655] Fix | Delete
}
[656] Fix | Delete
[657] Fix | Delete
/**
[658] Fix | Delete
* Returns a unique name for the navigation.
[659] Fix | Delete
*
[660] Fix | Delete
* @since 6.5.0
[661] Fix | Delete
*
[662] Fix | Delete
* @param array $attributes The block attributes.
[663] Fix | Delete
* @return string Returns a unique name for the navigation.
[664] Fix | Delete
*/
[665] Fix | Delete
private static function get_unique_navigation_name( $attributes ) {
[666] Fix | Delete
$nav_menu_name = static::get_navigation_name( $attributes );
[667] Fix | Delete
[668] Fix | Delete
// If the menu name has been used previously then append an ID
[669] Fix | Delete
// to the name to ensure uniqueness across a given post.
[670] Fix | Delete
if ( isset( static::$seen_menu_names[ $nav_menu_name ] ) && static::$seen_menu_names[ $nav_menu_name ] > 1 ) {
[671] Fix | Delete
$count = static::$seen_menu_names[ $nav_menu_name ];
[672] Fix | Delete
$nav_menu_name = $nav_menu_name . ' ' . ( $count );
[673] Fix | Delete
}
[674] Fix | Delete
[675] Fix | Delete
return $nav_menu_name;
[676] Fix | Delete
}
[677] Fix | Delete
[678] Fix | Delete
/**
[679] Fix | Delete
* Renders the navigation block.
[680] Fix | Delete
*
[681] Fix | Delete
* @since 6.5.0
[682] Fix | Delete
*
[683] Fix | Delete
* @param array $attributes The block attributes.
[684] Fix | Delete
* @param string $content The saved content.
[685] Fix | Delete
* @param WP_Block $block The parsed block.
[686] Fix | Delete
* @return string Returns the navigation block markup.
[687] Fix | Delete
*/
[688] Fix | Delete
public static function render( $attributes, $content, $block ) {
[689] Fix | Delete
/**
[690] Fix | Delete
* Deprecated:
[691] Fix | Delete
* The rgbTextColor and rgbBackgroundColor attributes
[692] Fix | Delete
* have been deprecated in favor of
[693] Fix | Delete
* customTextColor and customBackgroundColor ones.
[694] Fix | Delete
* Move the values from old attrs to the new ones.
[695] Fix | Delete
*/
[696] Fix | Delete
if ( isset( $attributes['rgbTextColor'] ) && empty( $attributes['textColor'] ) ) {
[697] Fix | Delete
$attributes['customTextColor'] = $attributes['rgbTextColor'];
[698] Fix | Delete
}
[699] Fix | Delete
[700] Fix | Delete
if ( isset( $attributes['rgbBackgroundColor'] ) && empty( $attributes['backgroundColor'] ) ) {
[701] Fix | Delete
$attributes['customBackgroundColor'] = $attributes['rgbBackgroundColor'];
[702] Fix | Delete
}
[703] Fix | Delete
[704] Fix | Delete
unset( $attributes['rgbTextColor'], $attributes['rgbBackgroundColor'] );
[705] Fix | Delete
[706] Fix | Delete
$inner_blocks = static::get_inner_blocks( $attributes, $block );
[707] Fix | Delete
// Prevent navigation blocks referencing themselves from rendering.
[708] Fix | Delete
if ( block_core_navigation_block_contains_core_navigation( $inner_blocks ) ) {
[709] Fix | Delete
return '';
[710] Fix | Delete
}
[711] Fix | Delete
[712] Fix | Delete
static::handle_view_script_module_loading( $attributes, $block, $inner_blocks );
[713] Fix | Delete
[714] Fix | Delete
return sprintf(
[715] Fix | Delete
'<nav %1$s>%2$s</nav>',
[716] Fix | Delete
static::get_nav_wrapper_attributes( $attributes, $inner_blocks ),
[717] Fix | Delete
static::get_wrapper_markup( $attributes, $inner_blocks )
[718] Fix | Delete
);
[719] Fix | Delete
}
[720] Fix | Delete
}
[721] Fix | Delete
[722] Fix | Delete
// These functions are used for the __unstableLocation feature and only active
[723] Fix | Delete
// when the gutenberg plugin is active.
[724] Fix | Delete
if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
[725] Fix | Delete
/**
[726] Fix | Delete
* Returns the menu items for a WordPress menu location.
[727] Fix | Delete
*
[728] Fix | Delete
* @since 5.9.0
[729] Fix | Delete
*
[730] Fix | Delete
* @param string $location The menu location.
[731] Fix | Delete
* @return array Menu items for the location.
[732] Fix | Delete
*/
[733] Fix | Delete
function block_core_navigation_get_menu_items_at_location( $location ) {
[734] Fix | Delete
if ( empty( $location ) ) {
[735] Fix | Delete
return;
[736] Fix | Delete
}
[737] Fix | Delete
[738] Fix | Delete
// Build menu data. The following approximates the code in
[739] Fix | Delete
// `wp_nav_menu()` and `gutenberg_output_block_nav_menu`.
[740] Fix | Delete
[741] Fix | Delete
// Find the location in the list of locations, returning early if the
[742] Fix | Delete
// location can't be found.
[743] Fix | Delete
$locations = get_nav_menu_locations();
[744] Fix | Delete
if ( ! isset( $locations[ $location ] ) ) {
[745] Fix | Delete
return;
[746] Fix | Delete
}
[747] Fix | Delete
[748] Fix | Delete
// Get the menu from the location, returning early if there is no
[749] Fix | Delete
// menu or there was an error.
[750] Fix | Delete
$menu = wp_get_nav_menu_object( $locations[ $location ] );
[751] Fix | Delete
if ( ! $menu || is_wp_error( $menu ) ) {
[752] Fix | Delete
return;
[753] Fix | Delete
}
[754] Fix | Delete
[755] Fix | Delete
$menu_items = wp_get_nav_menu_items( $menu->term_id, array( 'update_post_term_cache' => false ) );
[756] Fix | Delete
_wp_menu_item_classes_by_context( $menu_items );
[757] Fix | Delete
[758] Fix | Delete
return $menu_items;
[759] Fix | Delete
}
[760] Fix | Delete
[761] Fix | Delete
[762] Fix | Delete
/**
[763] Fix | Delete
* Sorts a standard array of menu items into a nested structure keyed by the
[764] Fix | Delete
* id of the parent menu.
[765] Fix | Delete
*
[766] Fix | Delete
* @since 5.9.0
[767] Fix | Delete
*
[768] Fix | Delete
* @param array $menu_items Menu items to sort.
[769] Fix | Delete
* @return array An array keyed by the id of the parent menu where each element
[770] Fix | Delete
* is an array of menu items that belong to that parent.
[771] Fix | Delete
*/
[772] Fix | Delete
function block_core_navigation_sort_menu_items_by_parent_id( $menu_items ) {
[773] Fix | Delete
$sorted_menu_items = array();
[774] Fix | Delete
foreach ( (array) $menu_items as $menu_item ) {
[775] Fix | Delete
$sorted_menu_items[ $menu_item->menu_order ] = $menu_item;
[776] Fix | Delete
}
[777] Fix | Delete
unset( $menu_items, $menu_item );
[778] Fix | Delete
[779] Fix | Delete
$menu_items_by_parent_id = array();
[780] Fix | Delete
foreach ( $sorted_menu_items as $menu_item ) {
[781] Fix | Delete
$menu_items_by_parent_id[ $menu_item->menu_item_parent ][] = $menu_item;
[782] Fix | Delete
}
[783] Fix | Delete
[784] Fix | Delete
return $menu_items_by_parent_id;
[785] Fix | Delete
}
[786] Fix | Delete
[787] Fix | Delete
/**
[788] Fix | Delete
* Gets the inner blocks for the navigation block from the unstable location attribute.
[789] Fix | Delete
*
[790] Fix | Delete
* @since 6.5.0
[791] Fix | Delete
*
[792] Fix | Delete
* @param array $attributes The block attributes.
[793] Fix | Delete
* @return WP_Block_List Returns the inner blocks for the navigation block.
[794] Fix | Delete
*/
[795] Fix | Delete
function block_core_navigation_get_inner_blocks_from_unstable_location( $attributes ) {
[796] Fix | Delete
$menu_items = block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] );
[797] Fix | Delete
if ( empty( $menu_items ) ) {
[798] Fix | Delete
return new WP_Block_List( array(), $attributes );
[799] Fix | Delete
}
[800] Fix | Delete
[801] Fix | Delete
$menu_items_by_parent_id = block_core_navigation_sort_menu_items_by_parent_id( $menu_items );
[802] Fix | Delete
$parsed_blocks = block_core_navigation_parse_blocks_from_menu_items( $menu_items_by_parent_id[0], $menu_items_by_parent_id );
[803] Fix | Delete
return new WP_Block_List( $parsed_blocks, $attributes );
[804] Fix | Delete
}
[805] Fix | Delete
}
[806] Fix | Delete
[807] Fix | Delete
/**
[808] Fix | Delete
* Add Interactivity API directives to the navigation-submenu and page-list
[809] Fix | Delete
* blocks markup using the Tag Processor.
[810] Fix | Delete
*
[811] Fix | Delete
* @since 6.3.0
[812] Fix | Delete
*
[813] Fix | Delete
* @param WP_HTML_Tag_Processor $tags Markup of the navigation block.
[814] Fix | Delete
* @param array $block_attributes Block attributes.
[815] Fix | Delete
*
[816] Fix | Delete
* @return string Submenu markup with the directives injected.
[817] Fix | Delete
*/
[818] Fix | Delete
function block_core_navigation_add_directives_to_submenu( $tags, $block_attributes ) {
[819] Fix | Delete
while ( $tags->next_tag(
[820] Fix | Delete
array(
[821] Fix | Delete
'tag_name' => 'LI',
[822] Fix | Delete
'class_name' => 'has-child',
[823] Fix | Delete
)
[824] Fix | Delete
) ) {
[825] Fix | Delete
// Add directives to the parent `<li>`.
[826] Fix | Delete
$tags->set_attribute( 'data-wp-interactive', 'core/navigation' );
[827] Fix | Delete
$tags->set_attribute( 'data-wp-context', '{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu" }' );
[828] Fix | Delete
$tags->set_attribute( 'data-wp-watch', 'callbacks.initMenu' );
[829] Fix | Delete
$tags->set_attribute( 'data-wp-on--focusout', 'actions.handleMenuFocusout' );
[830] Fix | Delete
$tags->set_attribute( 'data-wp-on--keydown', 'actions.handleMenuKeydown' );
[831] Fix | Delete
[832] Fix | Delete
// This is a fix for Safari. Without it, Safari doesn't change the active
[833] Fix | Delete
// element when the user clicks on a button. It can be removed once we add
[834] Fix | Delete
// an overlay to capture the clicks, instead of relying on the focusout
[835] Fix | Delete
// event.
[836] Fix | Delete
$tags->set_attribute( 'tabindex', '-1' );
[837] Fix | Delete
[838] Fix | Delete
if ( ! isset( $block_attributes['openSubmenusOnClick'] ) || false === $block_attributes['openSubmenusOnClick'] ) {
[839] Fix | Delete
$tags->set_attribute( 'data-wp-on-async--mouseenter', 'actions.openMenuOnHover' );
[840] Fix | Delete
$tags->set_attribute( 'data-wp-on-async--mouseleave', 'actions.closeMenuOnHover' );
[841] Fix | Delete
}
[842] Fix | Delete
[843] Fix | Delete
// Add directives to the toggle submenu button.
[844] Fix | Delete
if ( $tags->next_tag(
[845] Fix | Delete
array(
[846] Fix | Delete
'tag_name' => 'BUTTON',
[847] Fix | Delete
'class_name' => 'wp-block-navigation-submenu__toggle',
[848] Fix | Delete
)
[849] Fix | Delete
) ) {
[850] Fix | Delete
$tags->set_attribute( 'data-wp-on-async--click', 'actions.toggleMenuOnClick' );
[851] Fix | Delete
$tags->set_attribute( 'data-wp-bind--aria-expanded', 'state.isMenuOpen' );
[852] Fix | Delete
// The `aria-expanded` attribute for SSR is already added in the submenu block.
[853] Fix | Delete
}
[854] Fix | Delete
// Add directives to the submenu.
[855] Fix | Delete
if ( $tags->next_tag(
[856] Fix | Delete
array(
[857] Fix | Delete
'tag_name' => 'UL',
[858] Fix | Delete
'class_name' => 'wp-block-navigation__submenu-container',
[859] Fix | Delete
)
[860] Fix | Delete
) ) {
[861] Fix | Delete
$tags->set_attribute( 'data-wp-on-async--focus', 'actions.openMenuOnFocus' );
[862] Fix | Delete
}
[863] Fix | Delete
[864] Fix | Delete
// Iterate through subitems if exist.
[865] Fix | Delete
block_core_navigation_add_directives_to_submenu( $tags, $block_attributes );
[866] Fix | Delete
}
[867] Fix | Delete
return $tags->get_updated_html();
[868] Fix | Delete
}
[869] Fix | Delete
[870] Fix | Delete
/**
[871] Fix | Delete
* Build an array with CSS classes and inline styles defining the colors
[872] Fix | Delete
* which will be applied to the navigation markup in the front-end.
[873] Fix | Delete
*
[874] Fix | Delete
* @since 5.9.0
[875] Fix | Delete
*
[876] Fix | Delete
* @param array $attributes Navigation block attributes.
[877] Fix | Delete
*
[878] Fix | Delete
* @return array Colors CSS classes and inline styles.
[879] Fix | Delete
*/
[880] Fix | Delete
function block_core_navigation_build_css_colors( $attributes ) {
[881] Fix | Delete
$colors = array(
[882] Fix | Delete
'css_classes' => array(),
[883] Fix | Delete
'inline_styles' => '',
[884] Fix | Delete
'overlay_css_classes' => array(),
[885] Fix | Delete
'overlay_inline_styles' => '',
[886] Fix | Delete
);
[887] Fix | Delete
[888] Fix | Delete
// Text color.
[889] Fix | Delete
$has_named_text_color = array_key_exists( 'textColor', $attributes );
[890] Fix | Delete
$has_custom_text_color = array_key_exists( 'customTextColor', $attributes );
[891] Fix | Delete
[892] Fix | Delete
// If has text color.
[893] Fix | Delete
if ( $has_custom_text_color || $has_named_text_color ) {
[894] Fix | Delete
// Add has-text-color class.
[895] Fix | Delete
$colors['css_classes'][] = 'has-text-color';
[896] Fix | Delete
}
[897] Fix | Delete
[898] Fix | Delete
if ( $has_named_text_color ) {
[899] Fix | Delete
// Add the color class.
[900] Fix | Delete
$colors['css_classes'][] = sprintf( 'has-%s-color', $attributes['textColor'] );
[901] Fix | Delete
} elseif ( $has_custom_text_color ) {
[902] Fix | Delete
// Add the custom color inline style.
[903] Fix | Delete
$colors['inline_styles'] .= sprintf( 'color: %s;', $attributes['customTextColor'] );
[904] Fix | Delete
}
[905] Fix | Delete
[906] Fix | Delete
// Background color.
[907] Fix | Delete
$has_named_background_color = array_key_exists( 'backgroundColor', $attributes );
[908] Fix | Delete
$has_custom_background_color = array_key_exists( 'customBackgroundColor', $attributes );
[909] Fix | Delete
[910] Fix | Delete
// If has background color.
[911] Fix | Delete
if ( $has_custom_background_color || $has_named_background_color ) {
[912] Fix | Delete
// Add has-background class.
[913] Fix | Delete
$colors['css_classes'][] = 'has-background';
[914] Fix | Delete
}
[915] Fix | Delete
[916] Fix | Delete
if ( $has_named_background_color ) {
[917] Fix | Delete
// Add the background-color class.
[918] Fix | Delete
$colors['css_classes'][] = sprintf( 'has-%s-background-color', $attributes['backgroundColor'] );
[919] Fix | Delete
} elseif ( $has_custom_background_color ) {
[920] Fix | Delete
// Add the custom background-color inline style.
[921] Fix | Delete
$colors['inline_styles'] .= sprintf( 'background-color: %s;', $attributes['customBackgroundColor'] );
[922] Fix | Delete
}
[923] Fix | Delete
[924] Fix | Delete
// Overlay text color.
[925] Fix | Delete
$has_named_overlay_text_color = array_key_exists( 'overlayTextColor', $attributes );
[926] Fix | Delete
$has_custom_overlay_text_color = array_key_exists( 'customOverlayTextColor', $attributes );
[927] Fix | Delete
[928] Fix | Delete
// If has overlay text color.
[929] Fix | Delete
if ( $has_custom_overlay_text_color || $has_named_overlay_text_color ) {
[930] Fix | Delete
// Add has-text-color class.
[931] Fix | Delete
$colors['overlay_css_classes'][] = 'has-text-color';
[932] Fix | Delete
}
[933] Fix | Delete
[934] Fix | Delete
if ( $has_named_overlay_text_color ) {
[935] Fix | Delete
// Add the overlay color class.
[936] Fix | Delete
$colors['overlay_css_classes'][] = sprintf( 'has-%s-color', $attributes['overlayTextColor'] );
[937] Fix | Delete
} elseif ( $has_custom_overlay_text_color ) {
[938] Fix | Delete
// Add the custom overlay color inline style.
[939] Fix | Delete
$colors['overlay_inline_styles'] .= sprintf( 'color: %s;', $attributes['customOverlayTextColor'] );
[940] Fix | Delete
}
[941] Fix | Delete
[942] Fix | Delete
// Overlay background color.
[943] Fix | Delete
$has_named_overlay_background_color = array_key_exists( 'overlayBackgroundColor', $attributes );
[944] Fix | Delete
$has_custom_overlay_background_color = array_key_exists( 'customOverlayBackgroundColor', $attributes );
[945] Fix | Delete
[946] Fix | Delete
// If has overlay background color.
[947] Fix | Delete
if ( $has_custom_overlay_background_color || $has_named_overlay_background_color ) {
[948] Fix | Delete
// Add has-background class.
[949] Fix | Delete
$colors['overlay_css_classes'][] = 'has-background';
[950] Fix | Delete
}
[951] Fix | Delete
[952] Fix | Delete
if ( $has_named_overlay_background_color ) {
[953] Fix | Delete
// Add the overlay background-color class.
[954] Fix | Delete
$colors['overlay_css_classes'][] = sprintf( 'has-%s-background-color', $attributes['overlayBackgroundColor'] );
[955] Fix | Delete
} elseif ( $has_custom_overlay_background_color ) {
[956] Fix | Delete
// Add the custom overlay background-color inline style.
[957] Fix | Delete
$colors['overlay_inline_styles'] .= sprintf( 'background-color: %s;', $attributes['customOverlayBackgroundColor'] );
[958] Fix | Delete
}
[959] Fix | Delete
[960] Fix | Delete
return $colors;
[961] Fix | Delete
}
[962] Fix | Delete
[963] Fix | Delete
/**
[964] Fix | Delete
* Build an array with CSS classes and inline styles defining the font sizes
[965] Fix | Delete
* which will be applied to the navigation markup in the front-end.
[966] Fix | Delete
*
[967] Fix | Delete
* @since 5.9.0
[968] Fix | Delete
*
[969] Fix | Delete
* @param array $attributes Navigation block attributes.
[970] Fix | Delete
*
[971] Fix | Delete
* @return array Font size CSS classes and inline styles.
[972] Fix | Delete
*/
[973] Fix | Delete
function block_core_navigation_build_css_font_sizes( $attributes ) {
[974] Fix | Delete
// CSS classes.
[975] Fix | Delete
$font_sizes = array(
[976] Fix | Delete
'css_classes' => array(),
[977] Fix | Delete
'inline_styles' => '',
[978] Fix | Delete
);
[979] Fix | Delete
[980] Fix | Delete
$has_named_font_size = array_key_exists( 'fontSize', $attributes );
[981] Fix | Delete
$has_custom_font_size = array_key_exists( 'customFontSize', $attributes );
[982] Fix | Delete
[983] Fix | Delete
if ( $has_named_font_size ) {
[984] Fix | Delete
// Add the font size class.
[985] Fix | Delete
$font_sizes['css_classes'][] = sprintf( 'has-%s-font-size', $attributes['fontSize'] );
[986] Fix | Delete
} elseif ( $has_custom_font_size ) {
[987] Fix | Delete
// Add the custom font size inline style.
[988] Fix | Delete
$font_sizes['inline_styles'] = sprintf( 'font-size: %spx;', $attributes['customFontSize'] );
[989] Fix | Delete
}
[990] Fix | Delete
[991] Fix | Delete
return $font_sizes;
[992] Fix | Delete
}
[993] Fix | Delete
[994] Fix | Delete
/**
[995] Fix | Delete
* Returns the top-level submenu SVG chevron icon.
[996] Fix | Delete
*
[997] Fix | Delete
* @since 5.9.0
[998] Fix | Delete
*
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function