WPML for WordPress is a powerful plugin to build a multi-language setup. But it still comes short in some areas, especially when it comes to a custom integration into plugins or when using custom post-types.
Normally this function should return the id of the linked translated content, but has not worked for me in some cases (especially when AJAX is involved).
1 2 3 |
icl_object_id( $id, 'custom_post_type', false, $translation_lang ); |
A simple SELECT helps to get that id yourself :)
1 2 3 4 5 6 7 8 9 10 |
// original_id - main post id // $translation_lang - translated language code ... de, nl ... global $wpdb; $translation = $wpdb->get_results("SELECT * from wp_icl_translations where trid = (SELECT trid from wp_icl_translations where element_id = '".$original_id."' and element_type='post_page') and language_code='".$translation_lang."'"); $post = get_post($translation[0]->element_id, ARRAY_A); |