WPML “sitepress-multilingual-cms” como obtener el id original del post

WPML Multilingual CMS es un plug-in para WordPress o WordPress MU que te permite administrar todo el contenido en varios idiomas.

[Descargar] [Home Page]

Trabajando con este plug-in me he encontrado de que hay poca documentación para desarolladores, asi que me he tenido que espabilar e investigar parte del código del mismo plug-in para llegar al resultado deseado.

En mi caso he necesitado saber el ID del post original en un post en el cual estaba haciendo traducción.

Código PHP:

 
//asignamos las variables globales para poder acceder a ellas desde donde nos hace falta "function etc"...
global $wpdb, $post, $sitepress, $sitepress_settings;
 
//creamos condicion de que si existe el plugin activado o no
if(function_exists('icl_get_languages'))
{
	//en el plugin temos opcion de traducir los posts normales y tambien los custom post
        //recogemos el tipo del custom post
	$post_type = $wpdb->get_var("SELECT post_type FROM {$wpdb->posts} WHERE ID={$post->ID}");
 
        //buscamos el translation id para posteriormente obtener array con los ides y toda la info necesaria
	$trid = $wpdb->get_var( $wpdb->prepare("SELECT trid FROM {$wpdb->prefix}icl_translations WHERE element_type='post_{$post_type}' AND element_id={$post->ID};") );
 
        $translations = $sitepress->get_element_translations($trid);
 
	$post_id = $translations[$sitepress->get_default_language()]->element_id;
}else{
	$post_id = $post->ID;
}
 

BTF – Buena Vista Tobacco – Maravilla

btftobacco.com
Url: http://btftobacco.com/#home

Cliente: Privado
Estado: Operativa (BETA)

BTF - Buena Vista Tobacco y Maravailla es una fabrica Caribeña de cigarros, los cuales elaboran manualmente, conservando la tecnica original de enrollar tabaco de alta calidad.

Colaboracion:
Rediseño: Alberto Ventosa Rodriguez

Tecnología usada:

  • Css2/3
  • Html5
  • JavaScript (jQuery)
  • Ajax

Lenguas: Ingles

Fancybox 2 Gallery by Ajax response

Llamamos una galeria desde la etiqueta HTML <a href='javascript:void(0);' id='' />galeria</a> usando Ajax generado por PHP

Codigo Javascript:

 
jQuery(function($)
{
        //al hacer click en determinada etiqueta ejecutamos la llamada ajax y con la respuesta
        //recogida generamos un slide show
        $('.gellery_from_link a').live('click', function()
	{
		var item = $(this); //get a href
 
		$.fancybox.showActivity();
 
		$.ajax({
			url: '?action=gallery&rand='+Math.random(), //rand for hotlink scripting
			data: 'gallery_id='+item.attr('id'), // get a href id for generate ajax result
			type: 'POST',
			dataType: 'json',
			cache: false,
			success: function(data)
			{
				$.fancybox(data,
				{
					type: 'image', //important
					autoScale: true,
					transitionIn:	'elastic',
					transitionOut:	'elastic',
					padding: 20,
				});
			}
		});
 
	});
});
 

Php > generando la respuesta ajax:

 
< ?php
 
//Hot Link script
function IsHotlink()
{
	$domain = explode("/",$_SERVER['PHP_SELF']);
	$isFromDomain = strstr($_SERVER['HTTP_REFERER'],$domain[2]);
	$isFromAjax = $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
	$isHotlink = !$isFromDomain && !$isFromAjax;
	return $isHotlink;
}
 
if( $_REQUEST['action'] == 'gallery' && !IsHotlink() )
{
	$dm->gallery_id = $_REQUEST['gallery_id']; //recogemos $_POST id de la galleria
 
	$dm->fdir = "gallery/".$dm->gallery_id."/"; //ruta hasta lacarpeta con id de la galeria
	$dm->fItems = read_dir($dm->fdir);
 
	$dm->items = array();
 
	foreach( $dm->fItems as $v => $k )
	{
		array_push($dm->items, array('href' => $dm->fdir.$dm->fItems[$v]) );
	}
 
	exit( json_encode( $dm->items ) ); //generamos la respuesta ajax y cerramos el documento.
 
/*
ejemplo de la respuesta:
[href: "/gallery/2011-11-25_1.JPG", href: "/gallery/2011-11-25_2.JPG"]
*/
}
?>
 

Sotaventobcn.com

sotaventobcn.com
Url: http://sotaventobcn.com/

Cliente: GrupoCostaEste
Información: Muntaner 240 3°2° 08021 BARCELONA (93) 414-63-62
Estado: Operativa (BETA)

Sotavento, situado en un emplazamiento ideal, enfrente de la playa y con unas privilegiadas vistas al mar, ofrece servicios de Restaurante, Bar, y Club.

Equipo:

  • Diseño: Alberto Ventosa Rodriguez
  • Supervisores: Arturo Segura & Alfonso Sostres
  • Seo / Comunity manager: Ivan Sanchez Lopez

Tecnología usada:

  • Css3
  • Html5
  • JavaScript (jQuery)
  • Ajax
  • Facebook Graph
  • Twitter Api
  • en base de WordPress

Lenguas: Español y Ingles

iPhone Design Template

> Download PDF Format

Simple plantilla con puntos milimetricos para desarollo web/app's

Homologación Legal

homologacionlegal.com
Url: http://homologacionlegal.com/

Cliente: Privado
Estado: Activa (ultima actualización: 24 Feb 2012)

En CAHL – Centro de Asesoramiento y Homologación Legal le orientamos sobre los procedimientos que debe realizar para poder iniciar los trámites de homologación de todo tipo de diplomas, titulos y otros documentos.

Tecnología usada:

  • Css3
  • Html5
  • JavaScript (jQuery)
  • Ajax
  • Twitter
  • en base de WordPress

Lenguas: Ingles y Español

Cachitos Barcelona

cachitosbcn.com
Url: http://cachitosbcn.com/

Cliente: GrupoCostaEste
Información: Muntaner 240 3°2° 08021 BARCELONA (93) 414-63-62
Estado: Operativa

No hay amor más sincero que el amor a la comida "George Bernard Shaw" una frase con cual se identifica un nuevo local de centro de Barcelona. Es un local de tapas y copas totalmente distinto a los que proponen una oferta culinaria similar. El local dispone de varias plantas y una terraza.

Tecnología usada:

  • Css3
  • Html5
  • JavaScript (jQuery)
  • Ajax
  • Facebook Graph
  • en base de WordPress

BMC 2011

barcelonamusicconference.com
Url: http://barcelonamusicconference.com/

Cliente: GrupoCostaEste
Información: Muntaner 240 3°2° 08021 BARCELONA (93) 414-63-62
Estado: Operativa

Propuesta de diseño para una fiesta anual cual tomara hogar en el local OpiumMar de Barcelona.
Cada año esta fiesta atrae a mejores Dj's de la actualidad de todo el mundo.

Tecnología usada:

  • Css3
  • Html5
  • JavaScript (jQuery, Modernizr)
  • Ajax
  • Twitter API, Facebook Graph y Youtube Api
  • en base de WordPress

Lenguas: Ingles y Español

SAMSARA LOUNGE CLUB Splash

samsaralounge.es
Url: http://www.samsaralounge.es/

Cliente: GrupoCostaEste
Información: Muntaner 240 3°2° 08021 BARCELONA (93) 414-63-62

Splash temporal para un Lounge Club que se situa en C/Tuset 10, 08021 de Barcelona tel:934 146 362

Tecnología usada:

  • Css2
  • Html

CACHITOS Splash

cachitosbcn.com
Url: http://www.cachitosbcn.com/

Cliente: GrupoCostaEste
Información: Muntaner 240 3°2° 08021 BARCELONA (93) 414-63-62

Splash temporal para un restaurante recien inagurado que se situa en Rambla de Catalunya nº33, 08017 BARCELONA - Tel: 93 215 2718.

Tecnología usada:

  • Css2 / Css3
  • Html
  • JavaScript
Go to Top