Вечер добрый.
Уже давно голову ломаю над этим вопросом, пока безрезультатно. Пришла пора наконец его решить.
Стандартные настройки постоянных ссылок в wordpress не позволяют менять адреса для пользовательских типов записей и таксономий. Используемый плагин "Types" также не имеет такого функционала. Проблеск надежды появился с плагином "Custom Post Type Permalinks", но его недостаточно. Разобраться в его коде не смог, там просто адище.
Обрисую ситуацию.
Есть один тип пользовательских записей и несколько пользовательских таксономий.
Значение данной таксономии выбирается пользователем и хранится в сессии. В зависимости от этого значения выводятся записи в других пользовательских таксономиях и поиске с помощью модифицированного цикла. Т.е. по одной и той же ссылке
"http://site.ru/%таксономия%/%slug таксономии%"
выводятся разные записи при разных значениях сессии.
Необходимо изменить ссылки на список постов пользовательских категорий, добавив в них выбранный пользователем город (из сессии, оно аналогично одной из пользовательских таксономий). Например, пользователь выбрал своим городом Москву. Тогда:
из ссылки вида
"http://site.ru/%таксономия%/%slug таксономии%"
необходимо сделать ссылку вида:
"http://site.ru/%город%/%таксономия%/%slug таксономии%"
(или
"http://site.ru/%таксономия%/%slug таксономии%/%город%"
, ещё не определился).
То есть для всех других пользовательских таксономий добавить в ссылку выбранный город. То же самое и с ссылками на записи пользовательского типа. Как?
Пробовал разобраться с
"add_rewrite_rule"
, но успехов не было. Да и толковых мануалов не нашёл. А если нашёл, то либо регулярки неправильные составляю, либо само правило не работает.
Как писал выше, есть хороший плагин "Custom Post Type Permalinks". Он позволяет в качестве рулярки в ссылку вставить значение пользовательской таксономии (в моём случае город). Но не подходит по двум причинам:
1) город вставляется только в ссылки на запись пользовательского типа. А мне необходимо ещё и на страницы с постами пользовательских таксономий.
2) вставка города имеет иерархию, то есть там через / последовательно все значения от страны, области, до города. Желательно только выбранный вариант пользователем (он может выбрать и область).
Как всё это реализовать, кто подскажет? Моей признательности не будет границ, буду называть советника "Богом вордпресса".