Configurando WPLANG desde un complemento

10

Para un solo sitio de wordpress, el idioma debe configurarse desde wp-config.php 's WPLANG , pero ¿es posible establecer desde mi complemento que anula el valor predeterminado?

    
pregunta Howard 17.05.2012 - 10:52

1 respuesta

15

En wp-includes/l10n.php encontrará la función get_locale() . Ofrece un filtro; puede configurar el idioma e ignorar la constante:

function get_locale() {
    global $locale;

    if ( isset( $locale ) )
        return apply_filters( 'locale', $locale );

    // WPLANG is defined in wp-config.
    if ( defined( 'WPLANG' ) )
        $locale = WPLANG;

    // If multisite, check options.
    if ( is_multisite() ) {
        // Don't check blog option when installing.
        if ( defined( 'WP_INSTALLING' ) || ( false === $ms_locale = get_option( 'WPLANG' ) ) )
            $ms_locale = get_site_option('WPLANG');

        if ( $ms_locale !== false )
            $locale = $ms_locale;
    }

    if ( empty( $locale ) )
        $locale = 'en_US';

    return apply_filters( 'locale', $locale );
}

Para cambiarlo por plugin use el filtro 'locale' . Ejemplo:

add_filter( 'locale', 'wpse_52419_change_language' );
function wpse_52419_change_language( $locale )
{
    return 'de_DE';
}
    
respondido por el fuxia 17.05.2012 - 15:29

Lea otras preguntas en las etiquetas