Поддержка Проблемы и решения Постоянные ссылки с помощью rewrite_rule. Голова уже сломана

  • Вечер добрый.

    Уже давно голову ломаю над этим вопросом, пока безрезультатно. Пришла пора наконец его решить.

    Стандартные настройки постоянных ссылок в wordpress не позволяют менять адреса для пользовательских типов записей и таксономий. Используемый плагин «Types» также не имеет такого функционала. Проблеск надежды появился с плагином «Custom Post Type Permalinks», но его недостаточно. Разобраться в его коде не смог, там просто адище.

    Обрисую ситуацию.

    • Есть один тип пользовательских записей и несколько пользовательских таксономий.
    • Ссылки на запись пользовательского типа имеют вид:
      «http://site.ru/%тип поста%/%slug записи%»
    • Ссылки на пользовательскую таксономию:
      «http://site.ru/%таксономия%/%slug таксономии%»

    Одна из этих таксономий является иерархическим списком городов по типу:
    «Россия» — «Москва и московская область» — «Мытищи».
    Значение данной таксономии выбирается пользователем и хранится в сессии. В зависимости от этого значения выводятся записи в других пользовательских таксономиях и поиске с помощью модифицированного цикла. Т.е. по одной и той же ссылке «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) вставка города имеет иерархию, то есть там через / последовательно все значения от страны, области, до города. Желательно только выбранный вариант пользователем (он может выбрать и область).

    Как всё это реализовать, кто подскажет? Моей признательности не будет границ, буду называть советника «Богом вордпресса».

Просмотр 1 ответа (всего 1)
Просмотр 1 ответа (всего 1)
  • Тема «Постоянные ссылки с помощью rewrite_rule. Голова уже сломана» закрыта для новых ответов.