WPML: Translated Content NOT Displayed on the Second Description Box on Product Category [WooCommerce]

The second content box stores its data as custom term meta, and WPML currently treats that meta key as “do not translate” (or “copy”), so the Spanish value is never loaded on the front end even though you filled it in.wpml+2

What you need to change

  1. Identify the meta key you created
    • In your functions.php code, look for where you save the extra field for the category, e.g. something like:
      • update_term_meta( $term_id, 'my_second_description', $_POST['my_second_description'] );
    • The string 'my_second_description' is the meta key WPML must know about.[wpml]​
  2. Make that term meta translatable in WPML
    • Go to WPML → Settings → Custom Term Meta Translation.
    • Click “Show system fields” so you see all keys.metabox+1
    • Find your meta key (e.g. my_second_description or whatever you used).
    • Change its setting from “Do not translate” or “Copy” to “Translate” and save.wpml+2
  3. Translate the field via Taxonomy Translation
    • Go to WPML → Taxonomy Translation → Product Categories.
    • Edit the Spanish translation for the category.
    • You should now see your custom field value exposed in the translation form; enter the Spanish text there and save.wpml+2
  4. Ensure your front‑end code uses the translated meta
    • When outputting the extra content in the category template, call get_term_meta() in the normal way; WPML will return the value for the current language once the meta key is marked as translatable:
      • Example: php$term_id = get_queried_object_id(); $second_desc = get_term_meta( $term_id, 'my_second_description', true ); echo wp_kses_post( wpautop( $second_desc ) );
    • You do not need language conditionals if WPML is configured to translate that meta key; it will switch automatically per language.wpml+1
  5. Clear caches and re‑test
    • Clear any page/fragment cache and test the Spanish category page again.[wpml]​

If, after checking Custom Term Meta Translation, you can’t find your field key listed, paste the relevant part of your functions.php (the code that adds and saves that second box), and I can tell you exactly which meta key to configure and what the correct WPML settings should be.


The meta key you are using is seconddesc, saved as WooCommerce term meta; WPML is not translating that key yet, so every language shows only the default‑language value (or nothing).wpml+2

Step 1 – Make seconddesc translatable in WPML

  1. Go to WPML → Settings → Custom Term Meta Translation.
  2. Click “Show system fields” so all keys appear.wpml+1
  3. Find the key seconddesc in the list.
  4. Set it to “Translate” (not “Copy” and not “Do not translate”) and save settings.wpml+2

If you do not see seconddesc there yet, open any product category in the default language, type some text in the “Second Description” box, save, then refresh the WPML settings page; the key usually appears after it has been saved at least once.wpml+1

Step 2 – Translate the value

  1. Go to WPML → Taxonomy Translation → Product Categories.
  2. Edit the Spanish translation of a category that has seconddesc filled in English.
  3. You should now see a field for seconddesc (or “Second Description”) in the translation editor; enter the Spanish text and save.wpml+1

Alternatively, if you are using the native taxonomy edit screen instead of Translation Editor, edit the Spanish category directly in Products → Categories, scroll to your “Second Description” box, enter content, and save: once the meta key is marked as “Translate”, WPML will store it as language‑specific term meta.wpml+1

Step 3 – Let WPML return the correct language value

Your front‑end code:

phpif ( $term && ! empty( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) {
    echo '<p class="term-description">' . wc_format_content( htmlspecialchars_decode( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) . '</p>';
}

is fine; once seconddesc is registered as translatable term meta, get_woocommerce_term_meta() / get_term_meta() will automatically return the value for the current language, so your second description will appear translated under the products on Spanish category pages.wpml+2

After doing this, clear any cache and reload a Spanish product category page to test.

If you still do not see seconddesc listed in WPML’s “Custom Term Meta Translation” after editing/saving, tell me if you are using the WPML Advanced Translation Editor for categories or editing translations directly in the taxonomy screen.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *