問題の概要
debug.logの内容には以下のエラーが含まれています。
WordPress database error Table 'wp_icl_strings' doesn't exist for query…
WordPress database error Table 'wp_icl_string_translations' doesn't exist for query…
これらのエラーにより、以下の問題が発生します。
- WPML文字列翻訳ページに文字列がありません。
- WPMLテーマとプラグインのローカライズページでテーマやプラグインの文字列をスキャンしても、文字列が見つかりません。
また、非表示にできない以下の通知が表示される場合があります。
データベースの一部のテーブルに問題が検出されました。これを修正するには、WPMLサポートにお問い合わせください。Array ( en =>
回避策
これらのエラーは、WPMLの有効化が完了していない場合に発生します。この問題が正確にどのように再現されるかはまだ確認されていません。
翻訳がまったくない場合に限り、WPML > サポート > WPMLをリセットに移動できます(WPML 5.0以降の場合、WPMLをリセットはWPML > 有効化と更新からインストールするWPML Troubleshootingプラグインに含まれています)。
すでに翻訳がある場合は、以下の回避策を使用してWPMLでの作業を続行できます。
- サイトの完全なバックアップ(ファイルとデータベース)を作成します。この目的のために利用できる無料プラグインがWordPress.org (新しいタブで開く)に多数あります。
- テーマのルートフォルダーにあるfunctions.phpファイルの最後にこのコードを追加します。
function wpml_fix_missing_icl_tables() { if( function_exists( 'icl_sitepress_activate' ) ) icl_sitepress_activate(); } add_action( 'wp_footer', 'wpml_fix_missing_icl_tables' );
- サイトのホームページに少なくとも1回アクセスします。
- コードを削除します。