Вам потребуется отфильтровать идентификатор с помощью фильтра nav_menu_item_id
WordPress, который применяется в файле nav-menu-template.php .Он принимает три аргумента, но второй - это то, что нам нужно, чтобы фактически получить заголовок пункта меню и превратить его в нечто полезное для атрибута ID.Вот функция для этого, которая работает для меня в WordPress 3.4.1:
function custom_nav_menu_item_id($id, $item) {
$title = sanitize_title_with_dashes($item->title);
return 'menu-item-'.$title;
}
add_filter('nav_menu_item_id', 'custom_nav_menu_item_id', 10, 2);
Эта функция использует другую функцию WordPress для очистки заголовка в строку, используемую для атрибута ID (или любого другого атрибута HTML).
Обратите внимание, что эта функция получает заголовок пункта меню, который отличается от заголовка записи или страницы, если вы измените его на панели меню от администратора.