Perché "plugins_loaded" non viene chiamato/attivato?

2 set 2013, 18:18:56
Visualizzazioni: 17.3K
Voti: 8

Sto cercando di chiamare load_plugin_textdomain una volta che i plugin sono caricati, ma questo non avviene. Ho un plugin attivato, quindi non dovrebbe essere attivato questo 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>";
}

In un altro contesto, quando chiamo add_action("init", "init_custom_post_types"), funziona correttamente.

Potrebbe essere utile sapere che sto lavorando su un tema personalizzato.

Grazie se puoi fornire qualche indicazione, o chiedi se hai bisogno di ulteriori informazioni che potrebbero aiutarti ad aiutarmi.

1
Commenti

Oltre a quanto menzionato da Geert, perché non stai usando load_theme_textdomain() se stai lavorando su un tema.

User User
2 set 2013 18:31:28
Tutte le risposte alla domanda 1
3
22

Dai un'occhiata al file wp-settings.php. Noterai che l'azione plugins_loaded viene attivata prima del caricamento del tema. La prima azione disponibile per i temi a cui agganciarsi è l'azione after_setup_theme.

2 set 2013 18:26:26
Commenti

Molto interessante, grazie per la guida Geert e splashingpixels. Non utilizzavo quegli eventi o funzioni semplicemente perché non li conoscevo e mi basavo su un altro progetto. Ora ho capito che l'azione viene chiamata, tuttavia le traduzioni non vengono applicate. Gli elementi di traduzione sono per le etichette dei custom post type. Dove dovrei cercare per far sì che vengano presi dal file PO/MO?

jansensan jansensan
2 set 2013 19:32:27

Molti plugin non agganciano le loro traduzioni all'hook corretto (come after_setup_theme o init). In quel caso non puoi sovrascriverle dal tuo tema. Ecco come i plugin dovrebbero caricare correttamente le traduzioni. Se l'autore del plugin non aggiorna il codice potresti sempre optare per una soluzione alternativa con un must-use-plugin.

Geert Geert
2 set 2013 21:30:36

Immagino di non essere stato chiaro. splashingpixels mi ha indirizzato sulla strada giusta: in realtà sto sviluppando un tema personalizzato, quindi non ho bisogno di informazioni sui plugin. Sto usando add_action("after_setup_theme", "init_localization"), ma la parte admin/CMS di WP non applica le stringhe dal file PO/MO agli elementi come previsto. Qualche suggerimento?

jansensan jansensan
8 set 2013 04:30:22