WPML
ステータス
未解決
報告対象
WPML Multilingual CMS 4.5.9
トピックタグ
Bug

問題の概要

編集者やカスタムロールなどの管理者以外のユーザーが、高度な翻訳エディタ(ATE)のジョブ同期に関連する特定のWPML機能にアクセスすると、ブラウザのコンソールで403 Forbiddenエラーが発生します。このエラーは、ブラウザの開発者ツールでコンソールタブを調べると確認できます。

この問題はサイトやその翻訳には影響しません。引き続きWPMLを使用してWebサイトを翻訳できます。

回避策

続行する前に、サイトの完全なバックアップを必ず取得してください。


  • …/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' ) );
    		}

すべての既知の問題 →