/**
* Functions and filters related to the menus.
*
* Makes the default WordPress navigation use an HTML structure similar
* to the Navigation block.
*
* @link https://make.wordpress.org/themes/2020/07/06/printing-navigation-block-html-from-a-legacy-menu-in-themes/
*
* @package WordPress
* @subpackage Twenty_Twenty_One
* @since Twenty Twenty-One 1.0
*/
/**
* Add a button to top-level menu items that has sub-menus.
* An icon is added using CSS depending on the value of aria-expanded.
*
* @since Twenty Twenty-One 1.0
*
* @param string $output Nav menu item start element.
* @param object $item Nav menu item.
* @param int $depth Depth.
* @param object $args Nav menu args.
* @return string Nav menu item start element.
*/
function twenty_twenty_one_add_sub_menu_toggle( $output, $item, $depth, $args ) {
if ( 0 === $depth && in_array( 'menu-item-has-children', $item->classes, true ) ) {
// Add toggle button.
$output .= '';
}
return $output;
}
add_filter( 'walker_nav_menu_start_el', 'twenty_twenty_one_add_sub_menu_toggle', 10, 4 );
/**
* Detects the social network from a URL and returns the SVG code for its icon.
*
* @since Twenty Twenty-One 1.0
*
* @param string $uri Social link.
* @param int $size The icon size in pixels.
* @return string
*/
function twenty_twenty_one_get_social_link_svg( $uri, $size = 24 ) {
return Twenty_Twenty_One_SVG_Icons::get_social_link_svg( $uri, $size );
}
/**
* Displays SVG icons in the footer navigation.
*
* @since Twenty Twenty-One 1.0
*
* @param string $item_output The menu item's starting HTML output.
* @param WP_Post $item Menu item data object.
* @param int $depth Depth of the menu. Used for padding.
* @param stdClass $args An object of wp_nav_menu() arguments.
* @return string The menu item output with social icon.
*/
function twenty_twenty_one_nav_menu_social_icons( $item_output, $item, $depth, $args ) {
// Change SVG icon inside social links menu if there is supported URL.
if ( 'footer' === $args->theme_location ) {
$svg = twenty_twenty_one_get_social_link_svg( $item->url, 24 );
if ( ! empty( $svg ) ) {
$item_output = str_replace( $args->link_before, $svg, $item_output );
}
}
return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'twenty_twenty_one_nav_menu_social_icons', 10, 4 );
/**
* Filters the arguments for a single nav menu item.
*
* @since Twenty Twenty-One 1.0
*
* @param stdClass $args An object of wp_nav_menu() arguments.
* @param WP_Post $item Menu item data object.
* @param int $depth Depth of menu item. Used for padding.
* @return stdClass
*/
function twenty_twenty_one_add_menu_description_args( $args, $item, $depth ) {
if ( '' !== $args->link_after ) {
$args->link_after = '';
}
if ( 0 === $depth && isset( $item->description ) && $item->description ) {
// The extra element is here for styling purposes: Allows the description to not be underlined on hover.
$args->link_after = '
Monkeytilt Casino Review and Guide Introduction to Monkeytilt Casino Monkeytilt Casino positions itself as a modern online gaming site with a focus on slots and table games. This guide examines core aspects that matter to players: game selection, bonuses, banking, security, mobile access and support. When evaluating any casino, verify licensing details, review terms and… Seguir leyendo Monkeytilt Casino Review and Guide
Олимп Казино – Бонус 150 000 KZT и 250 FS Olimp Казино ▶️ ИГРАТЬ Содержимое Большой Бонус для Новых Игроков Условия бонуса: 250 FS для Взятки на Высоту Как получить 250 FS? Если вы ищете новый способ развлечения и игры, то Олимп Казино – идеальное место для вас. Это популярное онлайн-казино, которое предлагает широкий спектр… Seguir leyendo Олимп Казино – Бонус 150 000 KZT и 250 FS Olimp Казино
Betify Casino – Avis & Bonus exclusif (2026) ▶️ JOUER Содержимое Présentation du casino Betify Les avantages du casino Betify Avantages et inconvénients de Betify Casino Les avantages Inconvénients Bonus de bienvenue : Comment profiter de votre offre de bienvenue à Betify Casino Jeux et logiciels Plateforme de jeu Vous cherchez un casino en ligne… Seguir leyendo Betify Casino – Avis & Bonus exclusif (2026)
Discover how Aviator Game India brings an exciting new pace to online betting, offering fresh thrills for casino fans and crash game enthusiasts alike.
Discover how Aviator game India brings a fresh pace to online betting sessions with exciting gameplay, perfect for casino fans and crash game enthusiasts.