Skip to content Skip to sidebar

This thread is resolved. Here is a description of the problem and solution.

Problem:
You are using WPML to auto-translate multiple sites and encounter an issue where WPML also translates ACF variables within Bricks Builder, changing variable names and causing them not to be found.
Solution:
1. Ensure you back up your entire website.
2. Insert the following code at the end of the functions.php file of your active theme:

add_filter( 'wpml_tm_job_field_is_translatable', 'wpmltriage_skip_acfdynamic_fields_in_bricks', 10, 2 );<br /><br />function wpmltriage_skip_acfdynamic_fields_in_bricks( $is_translatable, $job_translate ) {<br />    $data = $job_translate['field_data'];<br />    if ( 'base64' === $job_translate['field_format'] ) {<br />        $data = base64_decode( $data );<br />    }<br />    if (isset($data) && strpos($data, '{acf_') === 0) {<br />      return false;<br />  }<br /><br />  return true;<br />}

3. Make a minor edit to the page containing the ACF and save it to apply the new settings.

If this solution does not resolve your issue or seems outdated, we recommend checking the related 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.

Tagged: 

This topic contains 1 reply, has 0 voices.

Last updated by Lucas Vidal de Andrade 2 weeks, 3 days ago.

Assisted by: Lucas Vidal de Andrade.

Author Posts
August 18, 2025 at 1:12 pm #17328011

robinV-30

Background of the issue:
I am trying to auto-translate numerous sites using WPML, but I am encountering an issue where WPML also translates ACF variables inside Bricks Builder. This is similar to an issue discussed here: https://wpml.org/forums/topic/prevent-wpml-from-translating-acf-pro-variables-inside-bricks-builder/. The problem can be seen on this page: https://wpml.org/forums/topic/prevent-wpml-from-translating-acf-pro-variables-inside-bricks-builder/. Bricks ACF variables are output like this: {acf_split_hero_ueberschrift}.

Symptoms:
Instead of just keeping the variable name, WPML translates it sometimes, e.g., for {acf_split_hero_ueberschrift}, this results in {acf_split_hero_heading}, which is not found obviously.

Questions:
How can I prevent WPML from translating ACF variables inside Bricks Builder?
Is there a way to keep the variable names consistent across languages without manual adjustments?

August 18, 2025 at 3:54 pm #17328592

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

I've read through the ticket you shared as a reference, and the solution is as follows:

1. Make a full website backup
2. Add the code below to the end of the functions.php file of your active theme and save:

add_filter( 'wpml_tm_job_field_is_translatable', 'wpmltriage_skip_acfdynamic_fields_in_bricks', 10, 2 );
 
function wpmltriage_skip_acfdynamic_fields_in_bricks( $is_translatable, $job_translate ) {
    $data = $job_translate['field_data'];
    if ( 'base64' === $job_translate['field_format'] ) {
        $data = base64_decode( $data );
    }
    // Check if data exists and contains '{acf_' at the beginning
    if (isset($data) && strpos($data, '{acf_') === 0) {
      return false;
  }
 
  return true;
}

3. Make a small change to the page that contain the ACF and save, so the changes respect the new rules;

That should solve the issue. Let me know how it goes.