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;
}