Mi experiencia de wordpress Multiidioma con el plugin Polylang

En varias ocasiones he tenido que crear sitios wordpress en varios idiomas. Hasta ahora venía usando el plugin WPML, pero el hecho de que se haya convertido en un plugin de pago y que me surjieran algunos bugs, me hizo buscar alguna alternativa.

Al final he dado con el plugin Polylang, y de momento mi experiencia es muy buena. En la parte negativa puedo destacar la falta de documentación, que todavía se encuentra en una fase temprana de desarrollo (aunque su funcionamiento de momento es correcto), y que la integración con PODs no es todavía completa.

Algunos de mis problemas de momento:

Lo estoy usando junto con PODs, y al mostrar los registros de PODs muestra todos los que encuentran, sin importar el idioma:

En su día cree esta entrada en el foro de PODs


/*= GET CASES STUDIES */
$params = array(
'where' => 'active.meta_value = 1',
'orderby' => 'position ASC',
'limit' => 4
);

// Get the Pods object
$mypod = pods( 'case_studies', $params );

// Loop through the items returned
while ( $mypod->fetch() ) {
?>

<? echo $mypod->display( 'title' ); ?>
<? echo $mypod->display( 'short_description' ); ?>

Para solucionarlo he tenido que hacer esta modificación:


while ( $mypod->fetch() ) {
// it show all matched pods, from all language,
  // so we check if current pod is in current language
$post_id = $mypod->data->row['ID'];
$translated_post_id = pll_get_post($post_id, pll_current_language());

// if both id are equal, then it is in the right laguage
if ($post_id == $translated_post_id) {
?>

<? echo $mypod->display( 'title' ); ?>
<? echo $mypod->display( 'short_description' ); ?>

}
}

Link a la home page con el idioma correcto


<?= pll_home_url(); ?>

No se me muestran algunas páginas

Este es el error que más me preocupa, y estoy francamente preocupado por que se me pueda reproducir en producción

De repente (no se que desencadena el fallo) los links a las páginas de worpdress muestran el contenido del index.php en lugar de mostrar el page.php

Hasta ahora lo he podido solucionar desactivando y volviendo a activar los plugins de PODs, y de WordPress SEO

5 comentarios

  1. Santiago dice:

    Hola Jaime,

    Antes de nada muchas gracias por tus aportaciones.

    Estoy valorando usar polylang para añadir multilenguaje a sitio que ya está desarrollado con PODS. He realizado algunas pruebas con pods + polylang y en la gran mayoría los resultados han sido buenos, me quedan algunos problemas con las imágenes, al activar la traducción de MEDIA.

    Quería saber si recomendarías usar polylang, o crees que WPML se integra mejor.

    Gracias de antemano.

  2. Por favor necesito su ayuda, acabo de instalar Polylanga mi blog wordpress con el theme Avada
    y me ha cambiado todo, lo peor es que no puedo accesar a mi panel de control para desactivarlo, ¿le ha pasado esto a alguien? como puedo hacer?

    gracias

  3. Fabrizzio dice:

    Hola Jaime. Excelente página, muy buenos datos.
    Te comento mi caso, uso Polylang con 2 idiomas agregados: español e inglés, y tengo 2 custom post type con PODS, en uno de ellos hay un campo relacionado al otro, el tipo de selección es la múltiple. OK. En los ajustes de Polylang tengo activados ambos CPT en la sección ‘Tipos de entrada personalizados’. OK. Tengo por ejemplo agregados 2 registros (en el CPT donde no está el campo relacionado) y 2 más por sus correspondientes traducciones, es decir, en total 4. OK. Ahora cuando agrego el primer registro (siempre todo desde la interfaz de administración), en el CPT (el que tiene el campo relacionado), me aparecen todos los registros, sin diferenciar los idiomas, y esto no es bueno, trabajar con pocos registros no es problema pero si son muchos la cosa cambia, y lo ideal sería que muestre los registros correspondientes al idioma actual. Me he dado cuenta que en la pestaña ‘Opciones de campo adicionales’ hay una opción ‘WHERE Personalizado’. Mi pregunta es si te ha pasado caso similar y si me podrías ayudar con una idea de como solucionarlo.
    Muchas gracias de antemano.

  4. Juaco Amado dice:

    Hola, Jaime.
    Lo que cuentas me resulta muy interesante.
    He usado Polylang por primera vez y estoy experimentando un problema: no lanza la página de inicio al teclear el dominio.
    Es decir, http://www.midominio.es debería lanzar http://www.midominio.es/inicio

    Veo que pones en tu artículo:
    Link a la home page con el idioma correcto

    ¿es por este problema que te planteo?
    ¿en qué fichero de WordPress añades este código PHP?

    Gracias y un saludo
    Juaco Amado

Escribe una comentario