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(...)
Это на самом деле не простая задача. Я думаю лучше все же плагин установить какой-нибудь.
Вот глянь https://github.com/doiftrue/i18n - это я когда-то реализовывал такое. Этот код по сути решает основную задачу - обрабатывает все URL - добавляет префикс языка, а также обрабатывает и сохраняет текущий язык для пользователя или в куки. Можешь попробовать его установить и под себя уже изменить.
Да Kama мощьно ты запилил. Как я понял у тебя все переводы хранятся в произвольных полях.
Фишка этого скрипта не в этом. Суть там вся в том что для URLoв обрабатывает ЧПУ префикс /ru/ /en/ и т.д. А где хранятся и как реализованы переводы, это уже сам можешь запилить.
Там есть реализация да, где в мета полях хранится все. Но это была просьба заказчика и у нее есть свои минусы и плюсы...
Обновил постоянные ссылки.
Сейчас для русского языка - ссылка sitename.ru/ru/news
Для английской версии - sitename.ru/en/news
Подскажи, пожалуйста, как удалить язык для основного языка?
То есть, если основной язык русский - ссылка sitename.ru/news
Я на своем сайте сделал так: создал две таксономии (рубрики и метки для англ.). И произв. тип записи (англ. статьи). Как работает можно посмотреть тут...ссылка