A pesar de este código:
`define( 'WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
define( 'WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);if ('de.' == substr( $_SERVER['HTTP_HOST'], 0, 3 )) {
define ('WPLANG', 'de_DE');
}
if ('en.' == substr( $_SERVER['HTTP_HOST'], 0, 3 )) {
define ('WPLANG', 'en_EN');
}
if ('fr.' == substr( $_SERVER['HTTP_HOST'], 0, 3 )) {
define ('WPLANG', 'fr_FR');
}
if ('es.' == substr( $_SERVER['HTTP_HOST'], 0, 3 )) {
define ('WPLANG', 'es_ES');
Sólo funcionan las versiones en inglés y alemán, no en francés (el español es para el futuro). Si configuro el francés como idioma de administrador, veo las traducciones, pero no solo el subdominio fr.sacconicase.com. No veo por qué mi código no entiende el idioma local del francés.
Obtuve algunas respuestas de la IA, pero desde el punto de vista teórico no debería necesitar ningún código nuevo. La IA:
Modelo 09:30
Este resultado de depuración es extremadamente valioso y nos dice exactamente dónde radica el problema.
Analicemos el resultado:
Host de dominio: fr.sacconicase.com (Correcto)
Constante WPLANG: fr_FR (¡Su wp-config.php está funcionando y la constante está definida!)
get_locale() actual: it_IT (MAL. WordPress ignora la constante WPLANG y usa italiano)
¿Por qué sucede esto?
La causa más probable en un sitio moderno de WordPress (versión 4.0 o posterior) es que la configuración de idioma en la base de datos (en la tabla wp_options, opción WPLANG) anula la constante definida en wp-config.php.
En términos simples: su base de datos dice que el idioma del sitio es italiano y WordPress lo usa, ignorando la configuración.
La solución definitiva
Necesitamos decirle a WordPress que use el lenguaje definido en wp-config.php (o el dominio), ignorando el guardado en la base de datos.
El lugar correcto para hacer esto es al comienzo de funciones.php, para que se ejecute antes de que WordPress cargue las opciones de la base de datos.
Acción: Elimine el código de depuración y reemplácelo con este bloque en la parte superior de su funciones.php (después del
código
PHP
// =============================================================================================================================================
// FORZAR LOCAL DESDE CONFIG/DOMINIO (Ignorar configuración de base de datos)
// Soluciona el problema de depuración donde WPLANG era fr_FR pero get_locale() seguía siendo it_IT
// =============================================================================================
add_filter(‘locale’, ‘sacconicase_force_locale_from_config’, 1);
..y así sucesivamente con más código…
gracias
La página con la que necesito ayuda: [log in to see the link]