WPML

Visão geral do problema

Usuários não administradores, como editores ou funções personalizadas, encontram um erro 403 Forbidden no console do navegador ao acessar certas funcionalidades do WPML relacionadas à sincronização de trabalhos do Editor de tradução avançado (ATE). Esse erro fica evidente ao inspecionar a aba do console nas ferramentas de desenvolvedor do navegador.

Lembre-se de que esse problema não afetará seu site ou suas traduções, você pode continuar usando o WPML e traduzindo o seu site.

Solução alternativa

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.

  • Abra o arquivo …/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/Loader.php.
  • Substitua:
    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' ) );
  • Por:
    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' ) );
    }

Todos os problemas conhecidos