From e69f9c8f04e1ce4e0cc3b312660e444b05d2ccb1 Mon Sep 17 00:00:00 2001 From: Antoine M Date: Mon, 11 May 2026 12:21:36 +0200 Subject: [PATCH] FEATURE Gathering the two navwalker --- functions.php | 3 ++- includes/navwalker.php | 26 +++++++++++++++++++++++ includes/nawalker_fction.php | 41 +++++++++++------------------------- 3 files changed, 40 insertions(+), 30 deletions(-) diff --git a/functions.php b/functions.php index 4c44e7d..d4974ba 100644 --- a/functions.php +++ b/functions.php @@ -8,16 +8,17 @@ require_once(__DIR__ . '/includes/logos.php'); require_once(__DIR__ . '/includes/collective-access-api.php'); require_once(__DIR__ . '/includes/utilities.php'); require_once(__DIR__ . '/includes/nawalker_fction.php'); +require_once(__DIR__ . '/includes/navwalker.php'); require_once(__DIR__ . '/includes/options-social-networks.php'); require_once(__DIR__ . '/includes/options-presse.php'); require_once(__DIR__ . '/includes/api.php'); require_once(__DIR__ . '/includes/forms.php'); require_once(__DIR__ . '/includes/rapport-activites.php'); require_once(__DIR__ . '/includes/equipe.php'); -require_once(__DIR__ . '/includes/navwalker.php'); require_once(__DIR__ . '/includes/post-type-analyses-etudes.php'); require_once(__DIR__ . '/includes/posts-save.php'); require_once(__DIR__ . '/includes/auteurs.php'); + // require_once(__DIR__ . '/includes/widget.php'); // require_once( __DIR__ . '/includes/taxonomy.php'); // require_once( __DIR__ . '/includes/errorlog.php'); diff --git a/includes/navwalker.php b/includes/navwalker.php index 9b423e2..b5f7332 100644 --- a/includes/navwalker.php +++ b/includes/navwalker.php @@ -18,8 +18,19 @@ function wrap_parent_menu_item_buttons($output, $item, $depth, $args) return $output; } + if ($args->theme_location === "primary") { + $page_icon = get_field('page_icon', $item->object_id) ?? null; + + if (isset($page_icon) && is_array($page_icon) && !empty($page_icon['url'])) { + $icon = ''; + $output = preg_replace('/>/', '>' . $icon, $output, 1); + } + } + if ($args->theme_location === "footer" && in_array('menu-item-has-children', $item->classes, true)) { + $output = $item->title; + } if (!in_array('menu-item-has-children', $item->classes, true) && $depth === 1) { $page_icon = get_field('page_icon', $item->object_id) ?? null; @@ -118,3 +129,18 @@ function carhop_add_submenu_item_icon($output, $item, $depth, $args) return '' . $icon_html . ''; } add_filter('walker_nav_menu_start_el', 'carhop_add_submenu_item_icon', 15, 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) || $item->type === 'post_type_archive') { + $classes[] = 'has-page-icon'; + } + return $classes; +} +add_filter('nav_menu_css_class', 'carhop_add_page_icon_class', 10, 2); diff --git a/includes/nawalker_fction.php b/includes/nawalker_fction.php index 3eb3ccc..464ef97 100644 --- a/includes/nawalker_fction.php +++ b/includes/nawalker_fction.php @@ -6,36 +6,19 @@ 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) ?? null; + if ($args->theme_location === "primary") { + $page_icon = get_field('page_icon', $item->object_id) ?? null; - if (isset($page_icon) && is_array($page_icon) && !empty($page_icon['url'])) { - $icon = ''; - $output = preg_replace('/>/', '>' . $icon, $output, 1); - } - } + if (isset($page_icon) && is_array($page_icon) && !empty($page_icon['url'])) { + $icon = ''; + $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; + 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) || $item->type === 'post_type_archive') { - $classes[] = 'has-page-icon'; - } - return $classes; -} -add_filter('nav_menu_css_class', 'carhop_add_page_icon_class', 10, 2); +// add_filter('walker_nav_menu_start_el', 'carhop_wrap_parent_menu_item_buttons', 10, 4);