This thread is resolved. Here is a description of the problem and solution.
Problem: You are trying to sync an ACF Image Field across multiple languages in a WordPress site using WPML. While the Swedish version displays correctly, the Danish and English versions show a 'no image shown' placeholder instead of the actual images.
Solution: We recommend the following steps to address this issue: 1. Ensure that the conditional fields are set to COPY. 2. Navigate to WPML > Settings > Custom XML Config and add the following XML configuration:
3. Go to Appearance > Kadence > Elements. 4. Edit the template and change the dynamic field to 'Custom field = Manual input', then revert it back to 'Custom Field = field_name'. 5. Edit the translation accordingly. 6. Check the frontend of a page using this template and its translation to see if the images display correctly.
If this solution does not resolve your issue or seems outdated, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If the problem persists, please open a new support ticket.
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.
Background of the issue:
I am trying to sync an ACF Image Field across multiple languages in a WordPress site using WPML. The Swedish version (default language) works correctly, but the Danish and English versions do not. URLs for reference:
- Swedish version:
How to replicate:
1. Add Image to ACF Image Field
2. Fetch it with Dynamical Content and display it as an image
3. Sync it in all languages
4. The svgs are shown in the original language
5. The standard "no image shown" placeholder is shown in all other languages than the defafult language
5.1 - The "no image shown" placeholder is the standard image for
How to fix it temporarily (until next time i update the post):
Edit the a post type template manually (without the Advanced Editor) and resassign one of images dynamic source, per language.
Symptoms:
The 'no image shown' placeholder is displayed instead of the actual images in the Danish and English versions. I expected to see 10 identical SVG files across all languages, but instead, I got 10 'No Image Found'.
Questions:
Why is the 'no image shown' placeholder appearing instead of the actual images in the Danish and English versions?
How can I ensure that the ACF Image Field syncs correctly across all languages?
Our compatibility team checked the issue and suggested the following workaround:
- Go to WPML->Settings->Custom Fields Settings
- Click on show system fields
- Set the following fields as copy _kad_element_show_conditionals, _kad_element_all_show, _kad_element_hide_conditionals, _kad_element_user_conditionals, _kad_element_device_conditionals
- Update the template
- Manually edit the template in secondary languages
- Click on the X to remove the selected image and resave the dynamic field (see image below).
Doesn't work when template is updated in default language.
I.e.
Done everything above. All settings fixed, updated the template, manually updated each language's template once.
Works great if I MANUALLY edit each language each time, which is not possible when working on multiple templates in multiple languages.
Then let's say I want to change an image or something else in the template, which is something we do often.
1. Update the default language template
2. Update the secondary languages using Advance Trans. Editor
3. Default language is fine. Secondary still gets the "No image found" placeholder.
As soon as i manually edit each language's template it's fine = the images are synced. So basically this did no difference.
The link you sent me is for DIFFERENT designs per language. This is the opposite of what we are trying to achieve?
If i manually replicate each change I make in the original language to each template in each language it works yes.
Edit: This has been the case since the beginning, i.e. the below made no difference at all:
"- Set the following fields as copy _kad_element_show_conditionals, _kad_element_all_show, _kad_element_hide_conditionals, _kad_element_user_conditionals, _kad_element_device_conditionals"
- Edit the template and change the dynamic field to something else, for example, "Custom field = Manual input", then reverse back to "Custom Field = field_name"
- Edit the translation
- Check on the frontend a page using this template and its translation