Как сменить авторский пул от имени пользователя до псевдонима и обработать специальные символы

Мне нужно изменить авторский пул от имени пользователя до псевдонима:

Это то, что установлено по умолчанию: http: //domain.tld/author/ (имя пользователя)

Это то, что мне нужно: http: //domain.tld/author/ (псевдоним) – (author-ID)

Поскольку я запускаю блог с несколькими авторами, мне нужно функциональное исправление, а не ручное изменение пула автора в базе данных. Я попробовал следующее обходное решение , но некоторые авторы используют специальные символы (например, «&», «знаки акцента» или «умляуты») в своем прозвище, что не дает решения.

Кроме того, мне нужно получить решение для дубликатов имен авторов. Может быть, его можно добавить идентификатор автора до конца рекламного ролика?