Вариант решения:
В нашей функции добавления меню (wp_nav_menu) есть замечательный атрибут $walker.
codex.wordpress.org/Function_Reference/wp_nav_menu
По ссылке выше есть пример его использования. Не буду его приводить полностью, лишь необходимый отрывок.
$item_output = sprintf( '%1$s<a%2$s>%3$s%4$s%5$s</a>%6$s',
$args->before,
$attributes,
$args->link_before,
apply_filters( 'the_title', $item->title, $item->ID ),
$args->link_after,
$args->after
);
Меняем на
$item_output = sprintf( '%1$s<a%2$s><span data-hover="%3$s%4$s%5$s">%3$s%4$s%5$s</span></a>%6$s',
$args->before,
$attributes,
$args->link_before,
apply_filters( 'the_title', $item->title, $item->ID ),
$args->link_after,
$args->after
);
И получаем необходимый результат. Разобравшись что к чему вы можете сделать мелкие изменения для себя ^_^