Krytyczny błąd podczas korzystania z WPML + ACF

Potężne wtyczki WPML dla wielojęzyczności i zaawansowane pola niestandardowe dla własnych pól są standardowym wyposażeniem wielu instalacji. Jest to denerwujące, gdy występują jednocześnie awarie i utrata danych. Zgłoszenia błędów na ten temat mają kilka lat i nie otrzymały odpowiedzi ( tutaj i tutaj i tutaj i tutaj i tutaj ). Właśnie przyjrzałem się bliżej problemowi.


Błąd występuje zawsze podczas tworzenia tzw. Strony opcji ACF:

ceef04e850da257a8aaa54e356199f61

Aby odtworzyć błąd, wykonaj następujące czynności. Najpierw ustaw język na „niemiecki” w menu w panelu powyżej. Teraz dwukrotnie otwierasz pozycję menu „Opcje” (każda na karcie). Tutaj ważne jest, aby bezpośrednio wywołać punkt menu. W drugiej zakładce możesz teraz zmienić język (w naszym przykładzie na „angielski”). Teraz wprowadź zmiany w pierwszej zakładce i kliknij „Aktualizuj”. Teraz zawartość wszystkich niemieckich pól nieprawidłowo wylądowała na polach angielskich:

Cała sprawa dzieje się bez ostrzeżenia i jest szczególnie fatalna w przypadku nadpisania dużej liczby opcji.

Następująca poprawka w functions.php rozwiązuje problem (nie zapomnij wymienić "acf-options", jeśli używasz indywidualnego slugu):

ceef04e850da257a8aaa54e356199f61

Plecy