Saltar al contenido Saltar a la barra lateral

Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.

Problema:
Si estás intentando traducir las páginas de autor y encuentras que el selector de idiomas no funciona correctamente, redirigiendo a la página principal en lugar de mantenerse en la página de autor traducida.
Solución:
Primero, asegúrate de que el autor tiene posts traducidos en el idioma secundario. Si no es así, el selector de idiomas podría no aparecer por defecto. Para ajustar cómo WPML maneja los idiomas sin traducción:
1. Ve a WPML → Idiomas.
2. En 'Language switcher options', revisa el ajuste 'How to handle languages without translation'.
3. Si está configurado en 'Link to home of language for missing translations', cámbialo a una opción que no redirija a la página principal, como ocultar el idioma si no hay traducción para el contexto actual.
4. Prueba el selector de idiomas nuevamente en la URL de la página de autor.
Si necesitas que el selector de idiomas siempre redirija a la URL traducida de la página de autor, incluso si no hay posts traducidos, puedes aplicar el siguiente código en el archivo

functions.php

de tu tema hijo o en un plugin de snippets, adaptando el formato de URL de tu sitio:

add_filter( 'icl_ls_languages', function( $languages ) {<br />    if ( is_author() ) {<br />        $author = get_queried_object();<br />        $author_slug = $author ? $author->user_nicename : '';<br /><br />        $default_lang = apply_filters( 'wpml_default_language', null );<br /><br />        foreach ( $languages as $lang_code => &$lang ) {<br />            if ( $lang_code === $default_lang ) {<br />                $lang['url'] = home_url( '/author/' . $author_slug . '/' );<br />            } else {<br />                $lang['url'] = home_url( '/' . $lang_code . '/author/' . $author_slug . '/' );<br />            }<br />        }<br />    }<br />    return $languages;<br />}, 10, 1 );

Si esta solución no resuelve tu problema o si parece estar desactualizada, te recomendamos abrir un nuevo ticket de soporte. También es aconsejable revisar los problemas conocidos y confirmar que tienes instaladas las últimas versiones de los temas y plugins. Para más asistencia, visita nuestro foro de soporte.

Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.

Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en los foros 6 días a la semana, 22 horas por día.

Etiquetado: 

Este tema contiene 13 respuestas, tiene 1 voz.

Última actualización por Otto hace 2 meses, 1 semana.

Asistido por: Otto.

Autor Publicaciones
enero 13, 2026 a las 17:42 #17726928

albertJ-3

enlace oculto las paginas de autor como esta porque no se traducen?

enero 13, 2026 a las 18:14 #17727023

albertJ-3

con el paso a paso de la ia no consigo traducir las paginas de autor enlace oculto

oefmvscklndkñansck.png
enero 13, 2026 a las 18:58 #17727180

Otto

Hola,

Para brindarle un mejor soporte, te agradecería que me enviaras la información de depuración de WPML. Puede seguir esta guía para encontrarlos: https://wpml.org/faq/provide-debug-information-faster-support/

En realidad sí está traducido:
enlace oculto

Lo que parece no estar funcionando correctamente es el selector de idiomas en la página de autor, que redirige a la home.

¿La autora tiene posts traducidos al idioma secundario? ¿Podrías probar traducir uno y ver si eso soluciona el problema?

Te sugiero también que pruebes esta solución:
Saludos cordiales,
❌ Por favor, antes que nada: haz un backup de tu sitio ❌
https://wpml.org/forums/topic/author-page-translator/

Dime si esto ayuda por favor.

Saludos cordiales,
Otto

enero 17, 2026 a las 12:29 #17738989

albertJ-3

correcto, no estar funcionando correctamente es el selector de idiomas, la autora ni el resto de autores tienen nigun pos, como se arregla esto, la info de depuracio:

enero 19, 2026 a las 13:06 #17742645

Otto

Hola,

El comportamiento esperado si el autor no tiene posts traducidos es que el selector de idiomas no aparezca.

Prueba lo siguiente:
- Ir a WPML → Idiomas.
- En Language switcher options, revisar el ajuste “How to handle languages without translation”.
- Si está en “Link to home of language for missing translations”, cambiarlo a una opción que no fuerce home (por ejemplo, ocultar el idioma si no hay “traducción” para el contexto actual).
- Probar de nuevo el selector en /author/leire-garitano/.

Nota: esto no “crea” la página de autor en el idioma; solo evita que WPML trate el cambio como “sin traducción ⇒ home”.

Si quieres forzar que el selector SIEMPRE vaya a /eu/author/slug/ aunque no haya posts, aplica workaround por código (forzar URLs del selector en páginas de autor):

- ❌ Por favor, antes que nada: haz un backup de tu sitio ❌
- Añade este snippet en el functions.php del tema hijo (o en un plugin de snippets), adaptando el formato de URL de tu site:

add_filter( 'icl_ls_languages', function( $languages ) {
    if ( is_author() ) {
        $author = get_queried_object();
        $author_slug = $author ? $author->user_nicename : '';

        $default_lang = apply_filters( 'wpml_default_language', null );

        foreach ( $languages as $lang_code => &$lang ) {
            // Ajusta si tu web usa "idioma por directorios" y si el default NO lleva prefijo.
            if ( $lang_code === $default_lang ) {
                $lang['url'] = home_url( '/author/' . $author_slug . '/' );
            } else {
                $lang['url'] = home_url( '/' . $lang_code . '/author/' . $author_slug . '/' );
            }
        }
    }
    return $languages;
}, 10, 1 );

Esta es la solución usada en este ticket:
https://wpml.org/forums/topic/author-page-translator/

Dime si esto ayuda, por favor.

Saludos cordiales,
Otto

enero 20, 2026 a las 18:05 #17747883

albertJ-3

el codigo no ha funcionado, y How to handle languages without translation” no lo encuentro, tengo wpml en castellano no en ingles. de todas formas, no se si se ha entendido bien el problema, cuando estoy en la pagina enlace oculto en el menu principal solo aparece castellano, no deja seleccionar euskera y si estoy en cualr pagina traducida al euskera, por ejemplo enlace oculto y desde el menu accedo a cualquier capina de autor que son las paginas que se despliegan debajo de equipo, al pulsar no aparece la pagina en euskera.

ademas de lo anterior, dejo un pantallazo de un aviso que esta apareciendo a menudo, para arreglar un error, no se porque ocurre ese error, la gagina la he traducido como cualquier otra

wfmckalxñlw´q.png
enero 20, 2026 a las 19:56 #17748237

Otto

Hola,

Gracias.

¿Para investigar mejor el problema, ¿puedes proporcionarme acceso temporal a tu sitio?
**Importante:**
- **Haz un backup** de tu sitio antes de compartir los datos.
- Si no ves un formulario privado para ingresar las credenciales, **no las publiques** en el foro.

¿Si fuera necesario, podría replicar tu sitio localmente instalando un plugin (Duplicator o WP All in One Migration)? Una vez resuelto el problema, borraré la copia.

Saludos cordiales,
Otto

enero 21, 2026 a las 14:00 #17750737

Otto

Hola,

Gracias, pero cuando intento acceder al admin me aparece este mensaje:
Locked
The requested resource is currently locked. The lock must be released or proper identification given before the method can be applied.

¿Podrías revisarlo por favor?

Saludos cordiales,
Otto

enero 22, 2026 a las 09:48 #17753024

albertJ-3

put your VPN in spain or tell me your country

enero 22, 2026 a las 12:50 #17753917

Otto

Hola,

Gracias.

He modificado el snippet WPML – Cambio de idioma en páginas de autor y lo he dejado desactivado por el momento:

/**
 * Force WPML language switcher to show all languages on author archives
 * and build the author URL in each language.
 */

add_action( 'wp', function () {
	if ( is_admin() || ! is_author() ) {
		return;
	}

	if ( ! function_exists( 'icl_set_setting' ) ) {
		return;
	}

	// Ensure missing translations still appear in the switcher.
	icl_set_setting( 'icl_lso_link_empty', 1, false );

	// Clear Divi static resources cache once per author+lang (short TTL).
	if ( class_exists( 'ET_Core_PageResource' ) && method_exists( 'ET_Core_PageResource', 'remove_static_resources' ) ) {
		$author_id = get_queried_object_id();
		$lang      = ! empty( $GLOBALS['sitepress'] ) ? $GLOBALS['sitepress']->get_current_language() : 'default';
		$key       = 'orbela_divi_cache_' . (int) $author_id . '_' . (string) $lang;

		if ( ! get_transient( $key ) ) {
			ET_Core_PageResource::remove_static_resources( 'all', 'all' );
			set_transient( $key, 1, 5 * MINUTE_IN_SECONDS );
		}
	}
} );

add_filter( 'wpml_ls_language_url', function ( $url, $data ) {
	if ( is_admin() || ! is_author() ) {
		return $url;
	}

	if ( empty( $data['code'] ) ) {
		return $url;
	}

	$author_id = get_queried_object_id();
	if ( ! $author_id ) {
		return $url;
	}

	if ( empty( $GLOBALS['sitepress'] ) ) {
		return $url;
	}

	$sitepress = $GLOBALS['sitepress'];
	$current   = $sitepress->get_current_language();

	$sitepress->switch_lang( $data['code'] );
	$author_url = get_author_posts_url( $author_id );
	$sitepress->switch_lang( $current );

	return $author_url ? $author_url : $url;
}, 10, 2 );

Por lo que pude ver, localmente funciona. Por favor, actívalo y compruébalo en tu sitio.

Puede que tengas que limpiar el caché de Divi si el estilo se rompe:
Divi > Opciones del tema > Constructor > Avanzado > Generación de Archivo CSS Estático > Claro ("clear")

En cuanto a los links a los autores en el menú:
Son enlaces personalizados, por lo que tienes que editarlos "a mano". Ve a Apariencia > Menús > cambia a Euskera y cambia el link para que apunte a la página del autor con el prefijo de idioma.

Dime si esto ayuda, por favor.

Saludos cordiales,
Otto

enero 22, 2026 a las 17:40 #17755042

albertJ-3

He hecho todo lo que comentas, parece que ya funciona bien, lo unico, puedes revisar la pagina en incogninito, por ejemplo enlace oculto es como que se rompe un momento y cuando mueves el cursos se arregla, te pasa lo mismo?

al final has tenido que instalar algun plugin? hay que borrar algo?

enero 22, 2026 a las 18:44 #17755166

Otto

Hola,

Instalé el plugin All in One WP Migration para hacer una copia e instalar el sitio localmente para hacer pruebas. Luego lo borré.

El problema que comentas tiene que ver con el caché de Divi. En el código que te he pasado, esta parte regenera el CSS estático de Divi:

    // Clear Divi static resources cache once per author+lang (short TTL).
    if ( class_exists( 'ET_Core_PageResource' ) && method_exists( 'ET_Core_PageResource', 'remove_static_resources' ) ) {
        $author_id = get_queried_object_id();
        $lang      = ! empty( $GLOBALS['sitepress'] ) ? $GLOBALS['sitepress']->get_current_language() : 'default';
        $key       = 'orbela_divi_cache_' . (int) $author_id . '_' . (string) $lang;
 
        if ( ! get_transient( $key ) ) {
            ET_Core_PageResource::remove_static_resources( 'all', 'all' );
            set_transient( $key, 1, 5 * MINUTE_IN_SECONDS );
        }
    }
} );

Es equivalente a hacer esto de forma manual:
Divi > Opciones del tema > Constructor > Avanzado > Generación de Archivo CSS Estático > Claro ("clear")

No entiendo por qué el estilo se rompe al cambiar de idioma en la página de autor 🤔

Sin esa parte del código se rompe y queda roto hasta que regeneras el CSS manualmente, por eso lo incluí.

Le di vueltas, pero no encuentro la manera de corregir ese "glitch". ¿Es posible para ti consultarlo con el soporte de Divi también? Tal vez ellos pueden ayudar con este tema.

Dime qué te sugieren por favor.

Saludos cordiales,
Otto

enero 23, 2026 a las 16:27 #17757878

albertJ-3

Hola en divi dicen que no dan soporte a codigos externos, hay alguna solucion? a las traducciones de las paginas de autor?

enero 23, 2026 a las 16:49 #17757929

Otto

Hola,

Entiendo, en ese caso, la solución es crear una entrada para cada miembro del equipo y traducirla. Una vez hecho esto, el selector funciona correctamente sin agregar código personalizado.

Saludos cordiales,
Otto