Ofrecer contenido en múltiples idiomas es esencial para llegar a una audiencia más amplia. WordPress, siendo una plataforma versátil, permite la integración de archivos PHP personalizados. Sin embargo, cuando se trata de traducir estos archivos, es necesario utilizar herramientas como WPML para garantizar una experiencia multilingüe coherente.
Si quieres traducir un archivo PHP en WordPress, pero no sabes cómo hacerlo dentro de un iframe multilingüe y con WPML, en esta guía te explico cómo hacerlo paso a paso. Aprenderás a integrar un archivo PHP en WordPress y hacer que su contenido sea completamente traducible mediante WPML, mejorando así la accesibilidad y SEO de tu sitio web.
Problema: un archivo PHP sin traducción en WordPress
Imagina que tienes un archivo PHP independiente que deseas mostrar dentro de una página de WordPress llamada Mi Iframe traducible, usando un iframe multilingüe. El problema es que WPML no detecta automáticamente los textos dentro de este archivo, lo que impide su traducción.
Paso 1: Crear el archivo PHP
Primero, crea un archivo PHP dentro de tu servidor. En este ejemplo, lo llamaremos mi-iframe-traducible.php.
Ejemplo de contenido del archivo:
<?php echo "Hola, ¿qué tal?"; ?>
Paso 2: Incrustar un PHP en WordPress con un iframe y configurar un iframe multilingüe para mostrar un archivo PHP traducido
Para traducir un archivo PHP en WordPress y mostrarlo en tu página de Wordpress “Mi iframe traducible“, es necesario incrustarlo correctamente mediante un iframe multilingüe. De esta forma, tu contenido podrá adaptarse dinámicamente a cada idioma gracias a WPML.
Para que cargue el idioma actual a través de la URL y asegurar que el archivo PHP cargue el idioma correcto según la configuración de WPML, hay que añadir código PHP, por lo que este código hay que englobarlo dentro de las etiquetas <code>.
<code> <iframe id="mi-iFrame" src="/mis-archivos/mi-iframe-traducible.php?lang=<?php echo ICL_LANGUAGE_CODE; ?>" width="100%" frameborder="0" scrolling="no" onload="resizeIframe(this)" style="height:4342px !important"></iframe> </code>
No olvides cambiar la ruta del archivo a la ruta y el nombre real de tu archivo.
Esto mostrará el archivo PHP en la página de WordPress, pero aún no será traducible con WPML.


Paso 3: Cómo traducir un archivo PHP en WordPress con WPML
Para que WPML pueda traducir los textos del archivo PHP, debemos hacer tres cosas:
- Cargar WordPress dentro del archivo PHP.
- Detectar el idioma actual del sitio.
- Usar la función
_e()de WPML para que los textos sean traducibles.
Para ello debemos seguir los siguientes pasos:
3.1 Modifica el archivo PHP
Abre mi-iframe-traducible.php y añade el siguiente código al inicio:
<?php
define('WP_USE_THEMES', false);
require_once('../wp-load.php'); // Ajusta la ruta según sea necesario
// Detectar el idioma desde la URL o usar el predeterminado
// Establece el idioma basado en un parámetro GET o usa 'en' como predeterminado
$language = $_GET['lang'] ?? 'es';
do_action('wpml_switch_language', $language);
?>
3.2. Hacer los textos traducibles
Ahora, reemplaza los textos estáticos por _e(), que es la función de traducción de WordPress, y no olvides poner los textos en inglés, para después traducirlos con WPML en Wordpress:
<?php _e('Hello ¿how are you?', 'traduccion-mi-iframe'); ?>
Paso 4: Configurar WPML para detectar las traducciones
Ahora que los textos son traducibles, sigue estos pasos para agregarlos a WPML:
- Ve a WPML > Traducción de cadenas.
- Activa el seguimiento para ver dónde aparecen las cadenas en el sitio.

- Actualiza la página Mi Iframe traducible.

- Ve de nuevo a WPML > Traducción de cadenas, y busca las cadenas de texto de tu archivo PHP.
- Traduce los textos al idioma deseado.

Si añades más frases en tu página de PHP más adelante, repite los pasos anteriores.
Paso 5: Verificar que la traducción funcione
Abre la página de WordPress en diferentes idiomas y asegúrate de que el iframe esté mostrando el contenido traducido correctamente.
Implementando estos pasos, lograrás traducir un archivo PHP en WordPress correctamente y hacerlo compatible con WPML. Además, aprenderás a configurar un iframe multilingüe, asegurando que el contenido se traduzca dinámicamente según el idioma del usuario.

