Функция wp_nav_menu дает вам возможность изменять идентификатор и класс как для контейнера, так и для меню. Но не элементы LI.
Если вы посмотрите на источник, где он создает элементы LI (функция start_el()); Вы можете видеть, что он использует фильтр nav_menu_css_class; Фильтр возьмет предоставленный вами массив (строк) и будет использовать его для построения тегов класса.
Примечание. Из того, что я вижу в коде, если вы передадите ему пустой массив. WordPress по-прежнему будет включать атрибут класса для элемента LI, он просто будет пустым.
Все эти классы предназначены для полезного подключения к javascript для чего-то вроде superfish, а не только из-за IE6.
Кроме того, без такого класса, как
current_page_item
, вы не сможете выделить текущую страницу в навигации.Гибкость является ключом. Добавьте все классы, уникальные для уникальных элементов в список, предоставьте конечному дизайнеру большую гибкость в стилях. Но я согласен, что это куча классов. Достойный HTML-программист, дизайнер мог бы сделать то же самое с гораздо меньшим количеством кода.
РЕДАКТИРОВАТЬ: сделал более ясным, что я имел в виду, без неуважения