carhop__carhop-theme__DEV/includes/nawalker_fction.php

43 lines
1.3 KiB
PHP

<?php
/* -----------------------------------------------------------
Walker to ReWrap li submenu parent with button instead of
-----------------------------------------------------------*/
function carhop_wrap_parent_menu_item_buttons($output, $item, $depth, $args)
{
if ($args->theme_location === "primary") {
$page_icon = get_field('page_icon', $item->object_id);
if (isset($page_icon)) {
$icon = '<img class="page_icon" src="' . $page_icon['url'] . '" alt=""/>';
// Insérer l'icône à l'intérieur du lien (seulement la première occurrence)
$output = preg_replace('/>/', '>' . $icon, $output, 1);
}
}
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', 'carhop_wrap_parent_menu_item_buttons', 10, 4);
/* -----------------------------------------------------------
Add class to menu items with page icon
-----------------------------------------------------------*/
function carhop_add_page_icon_class($classes, $item)
{
$page_icon = get_field('page_icon', $item->object_id);
if (isset($page_icon)) {
$classes[] = 'has-page-icon';
}
return $classes;
}
add_filter('nav_menu_css_class', 'carhop_add_page_icon_class', 10, 2);