diff --git a/includes/menu.inc b/includes/menu.inc index d4e727a285b51bd76e0b9b32624a19a6a1cfbf52..86ac9ad54b452c5760d80342cfbfe3969b67cbbd 100644 --- a/includes/menu.inc +++ b/includes/menu.inc @@ -468,7 +468,6 @@ function _menu_check_access(&$item, $map) { */ function _menu_item_localize(&$item, $map, $link_translate = FALSE) { $callback = $item['title_callback']; - // If we are not doing link translation or if the title matches the // link title of its router item, localize it. if (!$link_translate || (!empty($item['title']) && ($item['title'] == $item['link_title']))) { @@ -489,6 +488,10 @@ function _menu_item_localize(&$item, $map, $link_translate = FALSE) { else { $item['title'] = call_user_func_array($callback, menu_unserialize($item['title_arguments'], $map)); } + // Avoid calling check_plain again on l() function. + if ($callback == 'check_plain') { + $item['options']['html'] = TRUE; + } } } elseif ($link_translate) {