Evitar la traducción de entradas con Polylang

Uno de los mejores plugins gratuitos para agregarle funciones multi-lenguaje a nuestro sitio es Polylang (se actualiza seguido y es utilizado en más de 400.000 instalaciones de WordPress). Sin embargo, una situación que se da habitualmente con los sitios web institucionales que cuentan con una sección de noticias es que quienes los mantienen no cuentan con los recursos o el tiempo para generar las traducciones de las mismas. Es decir, en este caso necesitamos que las traducciones estén desactivadas para las entradas y se muestren siempre en el idioma original, una posibilidad que no viene incluida dentro de las opciones del plugin.
Una manera sencilla de desactivar la traducción de las entradas es agregando el siguiente código en el archivo functions.php de nuestro tema.

 

add_filter( 'pll_get_post_types', 'remove_post_translation_from_pll', 10, 2 );
function remove_post_translation_from_pll( $post_types, $is_settings ) {
unset( $post_types['post'] );
return $post_types;
}

De esta manera podremos mantener las entradas siempre en un mismo idioma sin necesidad de tocar el código del plugin (algo para nada recomendable). (Fuente)

9 comentarios en “Evitar la traducción de entradas con Polylang

  1. Hola,

    Mira tengo un problema con mi sitio https://www.lentesalinstantebolivia.org/start/ que está en 2 idiomas y tengo una sección de noticias o blog que me muestra en la página de inicio y en una página interna, el problema sucede cuando se quiere mostrar en alemán y no sale la imagen destacada. Probé con el código pero no me soluciona el problema.

    Favor tu ayuda.

  2. Hola Boris, como vimos en el chat, en tu caso se trata de una incompatibilidad entre Polylang y el tema, que fue corregido por los autores del tema. Así que la solución es actualizar el tema. Saludos!

  3. Hola Boris, he eliminado los idiomas de las traducciones tal y como explicas en la entrada, pero ahora las entradas sólo me aparecen en la parte de español porque la categoría que estoy mostrando es de español. Habría que eliminar también las traducciones de las categorías?
    Gracias
    Un saludo

  4. Hola Teresa!
    Justamente esa era la idea, que las entradas aparezcan en el idioma principal y no se muestren en los idiomas secundarios.
    Saludos!

  5. Hola. Con esta solución dejan de aparecer la mayoría de entradas del blog. Pensé que había roto la web. Tuve que volver a nuestra anterior solución: Decirle al sistema que todos los artículos, independientemente del idioma en el que estén redactados, pertenecen al idioma principal. Y después, poner en los menús sólo el enlace al blog del idioma principal. Así, solucionado. Sólo se genera un problema, pero es menor porque la probabilidad de detectarse es baja: si alguien, estando ya en el blog, le da a cambio de idioma, sí aparecerá en la página de blog que en principio era de ese idioma, y la verá vacía. Pero eso lo solucionaremos quitando en la página de blog los botones de cambio de idioma.
    Saludos.

  6. Hola Mario! Habría que ver el nombre interno que usan esas entradas personalizadas del tema y reemplazar el «post»

    unset( $post_types[‘post’] );

    por el nombre de esas entradas, que posiblemente sea «listings».

  7. Hola! Cómo podría evitar la traducción de las categorías. Quiero mostrar en diferentes idiomas los mismos post, sin importar el idioma.
    Muchas gracias.
    Un saludo.

Responder a Mario Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *