Intereting Posts

Перезапись одного почтового URL; add_rewrite_rule проблема?

Я должен настроить отдельную постоянную ссылку (структуру permalink), если сообщения имеют определенное значение в определенных настраиваемых полях.

Я использую фильтр post_link для изменения постоянной ссылки, когда это необходимо, и это очень сильно (я имею в виду, что в front-end permalink разные, когда они должны).

Первый вопрос: по вашему мнению, я должен использовать другие фильтры, чтобы охватить все случаи индивидуальной настройки постоянных ссылок?

Затем я добавил специальное правило, используя add_rewrite_rule чтобы интерпретировать этот новый тип структуры, и здесь я столкнулся с проблемой.

Поскольку эта структура постоянной ссылки имеет идентификатор (с 0 в начале, чтобы достигнуть 6 цифр, например 008467) в конце, я замечаю, что WordPress перенаправляет на новый url с этим номером – отбрасывает целое число – повторяется, например :

из

 /CATEGORYNAME/2013/04/22/POSTSLUG/008467/ 

в

 /CATEGORYNAME/2013/04/22/POSTSLUG/008467/8467/ 

Не беспокойтесь о структуре перед POSTSLUG, на самом деле важно то, что если я удалю POSTID из структуры (008647), все будет хорошо! Например, следующие работы:

 /CATEGORYNAME/2013/04/22/POSTSLUG/ 

Как это возможно?! Кажется, WordPress считает, что число – это нечто другое, например, разбиение на страницы или что-то подобное.

Это правило, которое я добавил (регулярное выражение правильно, я попробовал его с онлайн-тестером):

 add_rewrite_rule( '(.+?)/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(.?.+?)/([0-9]{6})(/[0-9]+)?/?$', 'index.php?pagename=$matches[5]&page=$matches[7]', 'top'); 

Solutions Collecting From Web of "Перезапись одного почтового URL; add_rewrite_rule проблема?"