- Статус
- Открыто
- Заявлено для
- WPML Multilingual CMS 4.5.9
- Теги темы
- Bug
Обзор проблемы
Пользователи без прав администратора, такие как редакторы или пользователи с произвольными ролями, сталкиваются с ошибкой 403 Forbidden в консоли браузера при доступе к определенным функциям WPML, связанным с синхронизацией заданий на перевод в Расширенном редакторе переводов (ATE). Эта ошибка отображается при просмотре вкладки консоли в инструментах разработчика браузера.
Обратите внимание, что эта проблема не повлияет на Ваш сайт или его переводы — Вы можете продолжать использовать WPML и переводить Ваш сайт.
Обходное решение
Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия Вашего сайта.
- Откройте файл …/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/Loader.php.
- Замените:
Hooks::onAction( 'wp_loaded' ) ->then( [ self::class, 'getData' ] ) ->then( $maybeLoadStatusBarAndATEConsole ) ->then( Resources::enqueueApp( 'ate-jobs-sync' ) ) ->then( Fns::always( make( \WPML_TM_Scripts_Factory::class ) ) ) ->then( invoke( 'localize_script' )->with( 'wpml-ate-jobs-sync-ui' ) );
- На:
if (current_user_can('translate') || current_user_can('manage_options') || current_user_can('manage_translations')) { Hooks::onAction( 'wp_loaded' ) ->then( [ self::class, 'getData' ] ) ->then( $maybeLoadStatusBarAndATEConsole ) ->then( Resources::enqueueApp( 'ate-jobs-sync' ) ) ->then( Fns::always( make( \WPML_TM_Scripts_Factory::class ) ) ) ->then( invoke( 'localize_script' )->with( 'wpml-ate-jobs-sync-ui' ) ); }