WPML + ACF使用時の重大なバグ

多言語対応用の強力なWPMLプラグインと、独自のフィールド用の高度なカスタムフィールドは、多くのインストールで標準装備されています。 誤動作とデータ損失が相まって発生すると煩わしいです。 この件に関するバグレポートは数年前のものであり、未回答です(ここここここここここ)。 問題を詳しく調べたところです。


いわゆるACFオプションページを作成すると、常にエラーが発生します:

ceef04e850da257a8aaa54e356199f61

バグを再現するには、次の手順を実行します。 まず、ダッシュボード上部のメニューで言語を「ドイツ語」に設定します。 ここで、メニュー項目「オプション」を2回開きます(それぞれタブ内)。 ここでは、メニュー項目を直接呼び出すことが重要です。 2番目のタブで、言語を変更します(この例では「英語」に変更します)。 最初のタブで変更を加え、[更新]をクリックします。 これで、すべてのドイツのフィールドのコンテンツが誤って英語のフィールドに到達しました:

すべてが警告なしに発生し、多数のオプションが上書きされた場合は特に致命的です。

関数.phpの次の修正プログラムは問題を解決します(個々のスラッグを使用する場合は「acf-options」を交換することを忘れないでください):

ceef04e850da257a8aaa54e356199f61

バック