¿Por qué no se llama/dispara el hook "plugins_loaded"?

2 sept 2013, 18:18:56
Vistas: 17.3K
Votos: 8

Estoy intentando llamar a load_plugin_textdomain una vez que los plugins se cargan, pero esto no ocurre. Tengo un plugin activado, ¿no debería dispararse este hook?

add_action("plugins_loaded", "test_override");

function init_localization()
{
    echo "init_localization<br>";
    load_plugin_textdomain
    (
        TEXT_DOMAIN, 
        false, 
        LANGUAGE_DIR
    );
}

function test_override()
{
    echo "text_override<br>";
}

En otro contexto, cuando llamo a add_action("init", "init_custom_post_types"), funciona correctamente.

Puede ser relevante saber que estoy trabajando en un tema personalizado.

Gracias si puedes proporcionar alguna orientación, o pregunta si necesitas saber algo que pueda ayudarte a ayudarme.

1
Comentarios

Además de lo mencionado por Geert, ¿por qué no estás usando load_theme_textdomain() si estás trabajando en un tema?

User User
2 sept 2013 18:31:28
Todas las respuestas a la pregunta 1
3
22

Echa un vistazo al archivo wp-settings.php. Verás que la acción plugins_loaded se activa antes de que se cargue el tema. La primera acción disponible para que los temas se enganchen es la acción after_setup_theme.

2 sept 2013 18:26:26
Comentarios

Muy interesante, gracias por la orientación Geert y splashingpixels. No estaba usando esos eventos o funciones simplemente porque no los conocía y me basé en otro proyecto. Ahora entiendo que la acción se llama, sin embargo las traducciones no se aplican. Los elementos de traducción son para etiquetas de tipos de contenido personalizados. ¿Dónde debería buscar para que se tomen del archivo PO/MO?

jansensan jansensan
2 sept 2013 19:32:27

Muchos plugins no enganchan sus traducciones al hook adecuado (como after_setup_theme o init). En ese caso no puedes sobrescribirlos desde tu tema. Aquí está cómo los plugins deberían cargar traducciones correctamente. Si el autor del plugin no actualiza el código, podrías optar por una solución con must-use-plugin.

Geert Geert
2 sept 2013 21:30:36

Creo que no fui claro. splashingpixels me orientó en el camino correcto: en realidad estoy construyendo un tema personalizado, así que no necesito información sobre plugins. Estoy usando add_action("after_setup_theme", "init_localization"), pero la parte de administración/CMS de WP no aplica las cadenas del PO/MO a los elementos como se esperaba. ¿Algún consejo?

jansensan jansensan
8 sept 2013 04:30:22