57 lines
2.4 KiB
PHP
57 lines
2.4 KiB
PHP
<?php
|
|
|
|
/* -----------------------------------------------------------
|
|
Walker to ReWrap li submenu parent with button instead of
|
|
-----------------------------------------------------------*/
|
|
|
|
function wrap_parent_menu_item_buttons($output, $item, $depth, $args)
|
|
{
|
|
|
|
// #### MENU HOMEGRADE HEADER
|
|
if ($args->theme_location === "homegrade" && $args->menu_id === "menu-homegrade-navlist" && in_array('menu-item-has-children', $item->classes, true)) {
|
|
$output = '<button type="button" class="menu-item__submenu-toggle" aria-expanded="false" aria-controls="sub-menu-' . $item->ID . '">' . $item->title . '</button>';
|
|
}
|
|
|
|
// #### MENU HOMEGRADE FOOTER
|
|
if ($args->theme_location === "homegrade" && $args->menu_class === "menu-homegrade-footer" && in_array('menu-item-has-children', $item->classes, true)) {
|
|
$output = '<h6 class="page-group-title">' . $item->title . '</h6>';
|
|
}
|
|
|
|
|
|
// #### MENU RENOVATEUR — N'est pas utilisé pour le menu principal
|
|
if ($args->theme_location === "renovateur") {
|
|
$page_icon = get_field('page_icon', $item->object_id);
|
|
|
|
if (in_array('menu-item-has-children', $item->classes, true)) {
|
|
$output = '<button type="button" class="menu-item__submenu-toggle" aria-expanded="false" aria-controls="sub-menu-' . $item->ID . '">' . $item->title . '</button>';
|
|
}
|
|
|
|
// #### ICONE DE PAGE FOR TOP LEVEL MENU ITEMS
|
|
if (isset($page_icon)) {
|
|
$icon = '<img class="page_icon" src="' . $page_icon['url'] . '" alt=""/>';
|
|
$link = $output;
|
|
$output = $icon . $link;
|
|
}
|
|
|
|
|
|
// #### TAXONOMY : GET ICON & INFOS ABOUT TAX
|
|
|
|
if ($item->type === "taxonomy") {
|
|
$term = get_term_by('id', $item->object_id, 'thematiques');
|
|
$cover = get_field('taxonomy_pictures', "thematiques_" . $item->object_id);
|
|
|
|
$output = '<a class="lol" href="' . $item->url . '">';
|
|
$output .= '<img class="thematique-icon" src="' . $cover['icon']['url'] . '"/>';
|
|
$output .= '<h6>' . $item->title . "</h6>";
|
|
$output .= '<p>' . $term->description . "</p>";
|
|
$output .= "</a>";
|
|
}
|
|
}
|
|
|
|
if ($args->theme_location === "footer" && in_array('menu-item-has-children', $item->classes, true)) {
|
|
$output = $item->title;
|
|
}
|
|
return $output;
|
|
}
|
|
add_filter('walker_nav_menu_start_el', 'wrap_parent_menu_item_buttons', 10, 4);
|