Переписать постоянную ссылку по умолчанию post postink

В моем почтовом типе WordPress по умолчанию у меня есть настраиваемое поле, которое называется шаблоном, который может иметь значение как в blog и в music .

Я хочу переписать permalink как нечто вроде %music/my-song где my-song будет названием этой записи.

Я изменил параметры постоянной ссылки на пользовательскую структуру /%template%/%postname%/ .

Я добавил фильтр post_link для обновления шаблона в ссылке:

 add_filter('post_link', function($link, $post = null){ if($post && ($template = get_field($template, $post->ID))) return str_replace('%template%', $template, $link); return $link; }); 

Я также добавил тег rewrite для WordPress для обнаружения шаблона:

 add_rewrite_tag('%template%', '([^/]+', 'template='); 

Как только я сохраняю постоянные ссылки, каждая вещь, кажется, работает на мои сообщения. Однако, когда я пытаюсь получить доступ к странице, она не работает.

Например, постоянная ссылка моей контактной страницы является /contact , и вместо отображения самой страницы контакта она показывает домашнюю страницу.