¿Cómo cambiar el valor lang="en-US" del documento HTML?
He notado que en la etiqueta <html>
de mi sitio WP el idioma está definido como inglés estadounidense.
<html lang="en-US" prefix="og: http://ogp.me/ns#">
Me gustaría cambiarlo a inglés británico en-GB
pero no estoy seguro de cuál es la mejor manera.
Investigué y encontré language_attributes()
en general-template.php
que hace una llamada a get_bloginfo('language')
. Podría insertar el valor manualmente aquí pero no parece ser la mejor manera de hacerlo.
¿Cuál es la forma correcta de cambiar este valor?

El valor para esa cadena normalmente se toma de la opción WPLANG
en tu tabla de base de datos $prefix_options
. Puedes establecerlo en el backend bajo Ajustes/Generales (wp-admin/options-general.php
) o mediante SQL.
Existen varias formas de cambiar ese valor mediante PHP:
Crear una variable global
$locale
en tuwp-config.php
:$locale = 'es_ES';
Declarar la constante
WPLANG
en tuwp-config.php
:define( 'WPLANG', 'es_ES' );
Esto ha quedado obsoleto, pero aún funcionará.
Filtrar
locale
:add_filter( 'locale', function() { return 'es_ES'; });
Esta es una forma muy flexible, ya que puedes añadir más condiciones a esa función, por ejemplo verificar el ID del sitio actual en una red multisitio.

En cuanto a la versión reciente de WordPress 4+, la solución proporcionada aquí está obsoleta, por favor revisa mi respuesta aquí para más detalles

Una respuesta debería ser más que solo un enlace. Por favor, añade una solución.
