ID }else{ $controls[$active_language['code']]['url'] = get_permalink($post_id).'&action=create_translation&trid='.$trid.'&to_lang='.$active_language['code'].'&source_lang='.$current_language.'&cred-edit-form='.$cred_form_id; //CRED new form ID } } $controls[$active_language['code']]['language'] = $sitepress->get_display_language_name($active_language['code'], $current_language); $controls[$active_language['code']]['flag'] = $sitepress->get_flag_url($active_language['code']); } return $controls; } /** * Get original content * * @since 1.3 * @package WPML * @subpackage WPML API * * @param int $post_id Post ID * @param string $field Post field * * @param bool $field_name * * @return string or array */ function wpml_get_original_content($post_id, $field, $field_name = false) { $post = get_post($post_id); switch ($field) { case 'title': return $post->post_title; break; case 'content': return $post->post_content; break; case 'excerpt': return $post->post_excerpt; break; case 'categories': $terms = get_the_terms($post->ID, 'category'); $taxs = array(); if($terms) foreach ($terms as $term) { $taxs[$term->term_taxonomy_id] = $term->name; } return $taxs; break; case 'tags': $terms = get_the_terms($post->ID, 'post_tag'); $taxs = array(); if($terms) foreach ($terms as $term) { $taxs[$term->term_taxonomy_id] = $term->name; } return $taxs; break; case 'taxonomies': return wpml_get_synchronizing_taxonomies($post_id,$field_name); break; case 'custom_fields': return wpml_get_synchronizing_fields($post_id,$field_name); break; default: break; } return WPML_API_ERROR; } /** * Get synchronizing taxonomies * * @since 1.3 * @package WPML * @subpackage WPML API * * @param int $post_id Post ID * * @param $tax_name * * @return array */ function wpml_get_synchronizing_taxonomies($post_id,$tax_name) { global $wpdb, $sitepress_settings; $taxs = array(); // get custom taxonomies if (!empty($post_id)) { $taxonomies = $wpdb->get_col($wpdb->prepare(" SELECT DISTINCT tx.taxonomy FROM {$wpdb->term_taxonomy} tx JOIN {$wpdb->term_relationships} tr ON tx.term_taxonomy_id = tr.term_taxonomy_id WHERE tr.object_id = %d ", $post_id)); sort($taxonomies, SORT_STRING); foreach ($taxonomies as $t) { if ($tax_name == $t && @intval($sitepress_settings['taxonomies_sync_option'][$t]) == 1) { foreach (wp_get_object_terms($post_id, $t) as $trm) { $taxs[$t][$trm->term_taxonomy_id] = $trm->name; } } } } return $taxs; } /** * Get synchronizing fields * * @since 1.3 * @package WPML * @subpackage WPML API * * @param int $post_id Post ID * @param string $field_name Field name * @return array */ function wpml_get_synchronizing_fields($post_id,$field_name) { global $sitepress_settings; $custom_fields_values = array(); if (!empty($post_id)) { if (is_array($sitepress_settings['translation-management']['custom_fields_translation'])) { foreach ($sitepress_settings['translation-management']['custom_fields_translation'] as $cf => $op) { if ($cf == $field_name && ($op == '2' || $op == '1')) { $values = get_post_meta($post_id, $cf, false); if (!empty($values)){ foreach ($values as $key=>$value) { $custom_fields_values[$key] = $value; } } } } } } return $custom_fields_values; }