- ステータス
- 解決済み
- タイプ
- バグ
- 報告対象
- WPML Multilingual CMS 4.4.10
- 解決されたバージョン
- WPML 4.6.7
問題の概要
空白の画面が表示され、デバッグモードを有効にすると、一部の環境で以下のエラーが表示されます。
PHP Fatal error: Uncaught InvalidArgumentException: element_id and type do not match in wp-contentpluginssitepress-multilingual-cmsclassescore-abstract-classesclass-wpml-set-language.php on line xx
以前のバージョンでは、これらの例外はユーザーに対して非表示にされていました。しかし、長期的にはデータベースの破損につながる可能性があるため、今後は非表示にしないことに決定しました。WPML 3.3.5以降では、ユーザーが問題をすぐに発見できるように、このような例外がスローされるようになりました。早期の段階で発見できるため、破損した設定に関する問題の修正がはるかに容易になります。
インストール環境によって問題の現れ方が異なる場合があります。この問題は以下のように発生する可能性があります:
- WPMLの管理画面に表示されます。
- プラグインページにアクセスできなくなります。
- WPML(またはそのアドオン)の有効化時にのみ発生します。
- 投稿の保存時に発生します。
どの場合でも空白の画面が表示され、デバッグモードを有効にするとエラーが表示されます。
回避策
先へ進む前に、サイトの完全なバックアップを作成してください。
ダッシュボードにまだアクセスできる場合:
- WPML → サポートに移動します。
- 言語データの修正を開きます(WPML 5.0以降、このツールはWPML → 有効化 & 更新からインストールするWPML Troubleshootingプラグインに付属しています)。次のステップのゴーストエントリの削除ボタンは、データベース & 文字列のメンテナンスの下にあります。
- 翻訳の投稿タイプ割り当てを修正ボタンをクリックします。
- 翻訳テーブルからゴーストエントリを削除するボタンをクリックする必要がある場合があります。
アクセスできない場合、または問題が解決しない場合:
- データベースにアクセスします。
- wp_icl_translationsテーブルを開きます。
- エラーの原因となっているelement_id を検索します。
- その行を削除します。
問題が解決するまで、この手順を数回繰り返す必要がある場合があります。