WPML Translated Term

Since I posted on their forum and I didn’t got any answer, here I am, asking the same question again. So:

I made a script that add the posibility to add an image and change the order for the terms of a custom taxonomy (called itinerary).

Read More

So i use this way of getting each term, one by one (there are only up to 10 terms, so i don’t think will be any performance penalties):

$term = get_term_by('id', $itinerary_id, 'itinerary' );

then get the image, description, url and so on.

The problem i have, however, is that i must have multilanguage content in a way that keeps the custom order AND custom image, so the site admin doesn’t have to add images for each language (10terms * 6 languages * other images every week doesn’t sound like fun!)

I tried to dig a little into WPML sql tables but I didn’t found anything that relates to both (i’m playing now only with 2 languages, english and italian) languages

So i was wondering if there is something like get_translated_term()?

Thanks!

Related posts

Leave a Reply

3 comments

  1. I know this is an old post and my answer will thus primarily be for the googlers out there (how I got here).

    I liked the idea of being able to just using a function like get_translated_term() as proposed above. So I wrote it (put in your functions.php):

    function get_translated_term($term_id, $taxonomy, $language) {
    
        $translated_term_id = icl_object_id($term_id, $taxonomy, true, $language);
    
        $translated_term_object = get_term_by('id', $translated_term_id, $taxonomy);
    
        return $translated_term_object->name;
    }
    

    Then on any given place in your theme you can call the function as follows:

    echo get_translated_term($term_id, 'taxonomy name', ICL_LANGUAGE_CODE);