Skip Navigation

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Sun Mon Tue Wed Thu Fri Sat
9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 - -
14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 - -

Supporter timezone: Asia/Jerusalem (GMT+03:00)

This topic contains 1 reply, has 2 voices.

Last updated by Itamar 1 year, 4 months ago.

Assisted by: Itamar.

Author Posts
December 21, 2022 at 2:59 pm #12693549

christophB-20

For all posts posts the ACFML post setting for the repeater reorder synchronizing is enabled by default.

This is the content after setting up a new product in DE (original language) and translating it into EN

DE original (before reordering)

[content_builder] => Array
        (
            [0] => Array
                (
                    [acf_fc_layout] => description
                    [title] => Title DE _ 1
                    [text] => <p>Text DE _ 1</p>

                )
            [1] => Array
                (
                    [acf_fc_layout] => contract
                    [section_label] => Section Label DE _ 2
                    [title] => Title DE _ 2
                    [text] => <p>Text DE _ 2</p>
                )
        )

EN translation (before reordering)

[content_builder] => Array
        (
            [0] => Array
                (
                    [acf_fc_layout] => description
                    [title] => Title EN _ 1
                    [text] => <p>Text EN _ 1</p>

                )
            [1] => Array
                (
                    [acf_fc_layout] => contract
                    [section_label] => Section Label EN _ 2
                    [title] => Title EN _ 2
                    [text] => <p>Text EN _ 2</p>
                )
        )

See the following after changing the order in DE original language with the "Synchronise translations" setting enabled:

DE original (after reordering)

[content_builder] => Array
        (
            [0] => Array
                (
                    [acf_fc_layout] => contract
                    [section_label] => Section Label DE _ 2
                    [title] => Title DE _ 2
                    [text] => <p>Text DE _ 2</p>

                )
            [1] => Array
                (
                    [acf_fc_layout] => description
                    [title] => Title DE _ 1
                    [text] => <p>Text DE _ 1</p>
                )
        )

EN translation (after reordering)

[content_builder] => Array
        (
            [0] => Array
                (
                    [acf_fc_layout] => description
                    [title] => Title EN _ 2
                    [text] => <p>Text EN _ 2</p>
                )
            [1] => Array
                (
                    [acf_fc_layout] => contract
                    [section_label] => Section Label EN _ 2
                    [title] => Title EN _ 1
                    [text] => <p>Text EN _ 1</p>
                )
        )

This has happened:
All ACF subfield conents were moved oin the translation post based on the order of the original one.
Since the subfields are named the same (title, text) the content was moved but the actual ACF Flexible Content Layout stayed the same.
This ends up in complete chaos which is impossible to understand with complexer pages.

Since the sync setting is enabled by default the content editors of this project always end up with destryoed content structure for all translations after reordering ACF Flexible Content.
This is always happening when adding a new row, which appears at the end and is then moved to the beginning.

If the layouts were the other way around some of the subfields and therefore their content would just be deleted since the field is not available after reordering.

(temporary) solution:
Without sync setting enabled this behavior is not happening anymore.

Another (possible) solution:
Renaming the subfields to unique keys based on the actual layout they are stored in.
But I think that can’t be the real way to solve this...

Support needed:
As I mentioned the setting is enabled for all posts, so this is a huge thing to cause issues if an editor is not unchecking before saving! (most likely that will happen ..)
The changelog gives a hint that there is a constant to control the default setting.
The setting is stored per post which must be a custom field, but I dont know which.
I cont find anything about it in the docs. Please advice.

This sneaky feature was causing us so much pain and unbelievable entensive amount of work already!

December 22, 2022 at 8:24 am #12697597

Itamar
Supporter

Languages: English (English ) Hebrew (עברית )

Timezone: Asia/Jerusalem (GMT+03:00)

Hi,

I believe that the cause of this issue is the same name you give to different sub-fields. In our guide we state the following:

Before you start translating, make sure each of the custom fields across your different field groups have a unique Field Name. If you assign the same Field Name to more than one custom field, you may not see all your field values available for translation in the Translation Editor.

https://wpml.org/documentation/related-projects/translate-sites-built-with-acf/translating-acf-repeater-and-flexible-content-fields-with-wpml/#translating-repeatable-sub-fields

If this is the case you are experiencing, then there is no avoidance but to change the sub-fields' names.

Regards,
Itamar.

The topic ‘[Closed] ACFML → Synchronizing repeater between languages mixes up subfield content’ is closed to new replies.