Rewrite_rules — сделать мультиязычность без плагина

Не могу решить задачу - сделать мультиязычность без плагина

то есть
site-name.ru/post-name
site-name.ru/en/post-name
и так далее...

использую add_rewrite_endpoint, endpoint не добавляется

этот пример работает:
https://stackoverflow.com/questions/20754505/wordpress-add-rewrite-tag-add-rewrite-rule-and-post-link

но не для костомных типов постов, костомной таксономии и категорий

как я понимаю, в этом массиве перечислены не все типы ссылок:

// fix permalinks
$link_filters_needing_rewrite = array(...)

Заметки к вопросу:
mi13 1.7 года назад

Я на своем сайте сделал так: создал две таксономии (рубрики и метки для англ.). И произв. тип записи (англ. статьи). Как работает можно посмотреть тут...ссылка

Kama 1.7 года назад

Это на самом деле не простая задача. Я думаю лучше все же плагин установить какой-нибудь.

Вот глянь https://github.com/doiftrue/i18n - это я когда-то реализовывал такое. Этот код по сути решает основную задачу - обрабатывает все URL - добавляет префикс языка, а также обрабатывает и сохраняет текущий язык для пользователя или в куки. Можешь попробовать его установить и под себя уже изменить.

mi13 1.4 года назад

Да Kama мощьно ты запилил. Как я понял у тебя все переводы хранятся в произвольных полях.

Kama 1.4 года назад

Фишка этого скрипта не в этом. Суть там вся в том что для URLoв обрабатывает ЧПУ префикс /ru/ /en/ и т.д. А где хранятся и как реализованы переводы, это уже сам можешь запилить.

Там есть реализация да, где в мета полях хранится все. Но это была просьба заказчика и у нее есть свои минусы и плюсы...

t.sergey 1.1 года назад

Обновил постоянные ссылки.

Сейчас для русского языка - ссылка sitename.ru/ru/news
Для английской версии - sitename.ru/en/news

Подскажи, пожалуйста, как удалить язык для основного языка?
То есть, если основной язык русский - ссылка sitename.ru/news