Ir al contenido


WordPress en varios idiomas (III)

Para que los lectores puedan seleccionar el idioma que mas les interese, he decidido que voy a colocar una barra con las banderas de los idiomas disponibles antes del texto del Post.

Crear la Barra de Banderas.

Lo primero que tenemos que hacer es aplicar una expresión regular al contenido para extraer cuanto idiomas se están usando en las etiquetas “[lang= 'xx']” para lo que usaremos las funciones “preg_match_all” y “array_unique“.

preg_match_all("/\[lang='(.*)'\]/",$text,$salida);
$idomas=array_unique($salida[1]);

Luego generaremos el código HTML necesario para poner las imágenes necesarias y los links con el parámetro “lang=xx” del que ya hablamos en el primer capitulo. Cuando el idioma coincida con el que se esta usando, no pondremos el link.

$bar="
"; foreach ($idomas as $i) { if($i!=$lang) $bar.=""; $bar.=""; if($i!=$lang) $bar.=""; } $bar.="
"; $text=$bar.$text;

Por lo que la función que filtra el contenido del Post quedaría así:

add_filter('the_content', 'filtro');

function filtro($text) {
	global $current_user, $wp_query , $post;

	$lang=$wp_query->query_vars['lang'];
	if(empty($lang)) $lang="es";

	preg_match_all("/\[lang='(.*)'\]/",$text,$salida);
	$idomas=array_unique($salida[1]);

	$bar="
"; foreach ($idomas as $i) { if($i!=$lang) $bar.=""; $bar.=""; if($i!=$lang) $bar.=""; } $bar.="
"; $text=$bar.$text; return($text); }

Continua en http://zxblog.laullon.com/2008/05/wordpress-en-varios-idiomas-iv/

Publicado en programacion, wordpress.

Etiquetado con , , , .


Una Respuesta

Sigue la conversación, suscríbete al RSS feed de los comentarios de esta entrada.

Siguiendo la Conversación

  1. WordPress en varios idiomas (II) | zxblog.laullon.com enlazó a esta entrada el 9 Mayo 2008

    [...] en: http://zxblog.laullon.com/2008/05/wordpress-en-varios-idiomas-iii/ Compartir: These icons link to social bookmarking sites where readers can share and discover new [...]



Un poco de HTML está bien

o responde a esta entrada a través de una referencia.



ZXBLog.laullon.com is Digg proof thanks to caching by WP Super Cache!