Я нашел частичное решение, которое позволяет распознавать и сохранять постоянную ссылку при загрузке страницы в адресной строке, но не обновлять на экране редактирования или других ссылках на сообщение на сайте.
Добавьте следующее в functions.php или плагин для конкретного сайта, заменив example-post-type идентификатором типа вашего сообщения.
function example_rewrite() {
add_rewrite_rule('^example-post-type/([0-9]{4})/([0-9]{1,2})/([^/]*)/?','index.php?post_type=example-post-type&year=$matches[1]&monthnum=$matches[2]&name=$matches[3]','top');
}
add_action('init', 'example_rewrite');
Это использует документированный API Rewrite здесь
Чтобы найти больше советов по пониманию процесса см. здесь .
Нужно иметь в виду, что независимо от того, как вы это делаете, два сообщения не могут иметь одинаковый слаг, даже если у них разные даты. Это потому, что если схема постоянных ссылок когда-либо будет изменена, они могут конфликтовать и вызывать ошибки.