Problemi con wp_enqueue_script nel mio plugin WordPress

24 lug 2012, 18:32:11
Visualizzazioni: 1.26K
Voti: 1

Sto lavorando a un plugin e sto cercando di attivare un file JS ogni volta che un articolo viene salvato. Ho letto documentazione tutta la mattina ma non riesco a capire perché non funziona. Qualche suggerimento? Se incollo direttamente il codice JS nel plugin sembra funzionare... Ho verificato il percorso del file JS ma ancora nessuna risposta.

add_action( 'admin_init', 'plugin_admin_init' );
function plugin_admin_init() {  
    wp_register_script( 'qtool-insert-v2', plugins_url() . '/buildStatus2/' . 'qtool-insert-v2.js' );
}

add_action( 'save_post', 'add_my_script' );
function add_my_script() {
    wp_enqueue_script( 'qtool-insert-v2' );
}

Ecco il contenuto di qtool-insert-v2.js - un semplice redirect.

<script type="text/javascript">
<!--
window.location = "http://www.google.com/"
//-->
alert("HELLO");
</script>
0
Tutte le risposte alla domanda 1
5

Devi agganciarti a admin_enqueue_scripts con la tua funzione add_my_script.

http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts

Esempio:

function add_my_script() {
    wp_enqueue_script('qtool-insert-v2');
}add_action( 'admin_enqueue_scripts', 'add_my_script' );
24 lug 2012 18:37:34
Commenti

ahh ok grazie per il consiglio. Ora riesco a vederlo nel sorgente. Anche se non c'è alcun reindirizzamento o popup che si attiva...

inoltre, sembra che questo script venga caricato su ogni pagina di amministrazione... c'è un modo per farlo attivare solo con l'hook save_post?

<script type='text/javascript' src='http://....../plugins/buildStatus2/qtool-insert.js?ver=3.3.2'></script>

Greg Greg
24 lug 2012 18:42:50

sembra che non mi servano i tag <script>... devo ancora capire come fare in modo che questo si attivi solo al salvataggio di un post però

Greg Greg
24 lug 2012 18:52:20

Puoi attivare admin_enqueue_scripts solo su determinate pagine di amministrazione, vedi il link sopra (http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts#Example:_Target_a_Specific_Admin_Page)

Rachel Baker Rachel Baker
24 lug 2012 19:01:28

@Greg Stai cercando di eseguire JS su un'azione PHP di salvataggio post o su un evento di click di salvataggio?

Brian Fegter Brian Fegter
24 lug 2012 20:02:17

@BrianFegter su un'azione di salvataggio post. Ogni volta che un articolo viene pubblicato o aggiornato.

Greg Greg
24 lug 2012 20:07:58