Ошибка WordPress «У вас нет прав на перевод с …»
Несколько лет назад я создал веб сайт на WordPress для норвежской компании, занимающейся пассажирскими авиаперевозками. С тех пор они периодично обращаются ко мне, для разработки нового функционала, решения проблем и простой поддержки работоспособности сайта, обновлении Вордперсса или плагинов. Создание сайта проводилась мною как фрилансер.
Сайт представляет собой двуязычный блог с WPML, освещающий работу компании, популярные направления для путешествий, выгодные предложения по перелетам, интересные события и т.д. Блог большой, у него есть несколько разного уровня пользователей, есть администраторы, редакторы и авторы.
Администратор сайта обратился ко мне с проблемой. У одного из редакторов были трудности с доступом к определенным постам, причем никаких сообщений об ошибке Вордпресс не показывал, просто ссылка на редактирование совпадала с УРЛом списка постов и по клику ничего не происходило, пользователь оставался на той же странице. Интересно было то, что не прослеживалась закономерность по постам, и редакторы с такими же правами не испытывали никаких трудностей.
Я сразу заподозрил, что скорей всего проблема кроется в плагине WPML, там есть своя система прав и раньше я подобную проблему встречал на других созданных мною сайтов. Но правда, тогда пользователи не могли редактировать определенный перевод поста и выдавалась ошибка, что-то наподобие «У вас нет прав на перевод с Русского на Английский». Тем не менее я решил это проверить, так как других идей пока не было.
В WPML права на перевод контента для сайта для пользователей находится в
WPML->Translation Management-> Translation Roles
На этой странице я увидел, что для проблемного редактора было выставлено неправильное направление перевода в колонке «Языковые пары». Проблема сразу бросилась в глаза. У всех было с Английского на Норвежский, а у интересующего меня редактора, с Норвежского на Английский. Изменение направления перевода решило проблему.
При возникновении проблем с доступом к страницам и постам для пользователей ниже администратора, также следует проверить добавлен ли этот пользователь в качестве переводчика на этой же странице.