WPML
ステータス
解決済み
報告対象
WPML String Translation 3.0.8
解決されたバージョン
3.0.9

問題の概要

WPMLインストールのデフォルト言語以外の言語にバックエンド言語を切り替えると、メモリ関連のクラッシュが発生します。

この問題は、QuformプラグインがWordPressのフック「user_has_cap」にフックし、gettextリクエストを行うことが原因で発生します。これによりリクエストの途中で言語が変更され、WPMLのロジックにループが生じます。

回避策

この問題はWPML 文字列翻訳の次のバージョンで修正される予定です。

この問題を修正するには(操作内容を理解しており、完全なバックアップを取得している場合のみ実行してください)、wp-content/plugins/quform/library/Quform/Permissions.phpを開き、以下の関数:

    public function getAllCapabilities()
    {
        return apply_filters('quform_capabilities', array(
            'quform_full_access' => __('Full Access', 'quform'),
            'quform_view_dashboard' => __('View Dashboard', 'quform'),
            'quform_list_forms' => __('List Forms', 'quform'),
            'quform_add_forms' => __('Add Forms', 'quform'),
            'quform_edit_forms' => __('Edit Forms', 'quform'),
            'quform_delete_forms' => __('Delete Forms', 'quform'),
            'quform_view_entries' => __('View Entries', 'quform'),
            'quform_edit_entries' => __('Edit Entries', 'quform'),
            'quform_delete_entries' => __('Delete Entries', 'quform'),
            'quform_resend_notifications' => __('Resend Notifications', 'quform'),
            'quform_view_tools' => __('View Tools Page', 'quform'),
            'quform_export_entries' => __('Export Entries', 'quform'),
            'quform_export_forms' => __('Export Forms', 'quform'),
            'quform_import_forms' => __('Import Forms', 'quform'),
            'quform_settings' => __('Edit Settings', 'quform'),
            'quform_help' => __('View Help Page', 'quform')
        ));
    }

を次のように変更します。

    public function getAllCapabilities()
    {
        return apply_filters('quform_capabilities', array(
            'quform_full_access' => ('Full Access'),
            'quform_view_dashboard' => ('View Dashboard'),
            'quform_list_forms' => ('List Forms'),
            'quform_add_forms' => ('Add Forms'),
            'quform_edit_forms' => ('Edit Forms'),
            'quform_delete_forms' => ('Delete Forms'),
            'quform_view_entries' => ('View Entries'),
            'quform_edit_entries' => ('Edit Entries'),
            'quform_delete_entries' => ('Delete Entries'),
            'quform_resend_notifications' => ('Resend Notifications'),
            'quform_view_tools' => ('View Tools Page'),
            'quform_export_entries' => ('Export Entries'),
            'quform_export_forms' => ('Export Forms'),
            'quform_import_forms' => ('Import Forms'),
            'quform_settings' => ('Edit Settings'),
            'quform_help' => ('View Help Page')
        ));
    }

すべての既知の問題 →