Come posso aggiungere un evento jQuery OnClick al pulsante Pubblica articoli?
Voglio aggiungere un semplice evento di conferma al pulsante Pubblica articoli, così quando il mio cliente clicca su "Pubblica" gli chiederà se è sicuro, a cui potrà rispondere "Sì" o "Annulla" e l'articolo verrà pubblicato o meno.
Sono nuovo in WordPress... o almeno ho fatto solo programmazione di temi e plugin limitati. Ho trovato il codice della metabox per il pulsante "Pubblica" in edit-form-advanced.php
:
add_meta_box('submitdiv', __('Pubblica'), 'post_submit_meta_box', null, 'side', 'core');
Ma per ottenere questo risultato, sospetto che dovrò aggiungere il codice jQuery da un'altra parte - preferibilmente nel mio tema.
Per motivi specifici del sito, non posso aggiungere nuovi plugin a questa installazione quindi tutte le modifiche devono essere limitate al file functions.php
del mio tema.

Puoi agganciarti alle azioni del footer del post (basato su questa risposta, non testato):
add_action( 'admin_footer-post-new.php', 'wpse_80215_script' );
add_action( 'admin_footer-post.php', 'wpse_80215_script' );
function wpse_80215_script()
{
if ( 'post' !== $GLOBALS['post_type'] )
return;
?>
<script>
document.getElementById("publish").onclick = function() {
if ( confirm( "Pronto?" ) )
return true;
return false;
}</script>
<?php
}
Queste azioni vengono chiamate in wp-admin/admin-footer.php
:
do_action( "admin_footer-" . $GLOBALS['hook_suffix'] );
Questo codice può essere utilizzato in un plugin (preferibile) o nel file functions.php
del tuo tema.
Vedi anche:

Ok, ho aggiunto il codice sopra nel mio file functions.php e non è successo niente. È corretto assumere che lo script js vada nel file admin_footer? In questo caso ho prima provato il codice aggiungendo l'intero snippet sopra a functions.php...

Sì, aggiungi semplicemente tutto nel functions.php
. L'ho testato ora, funziona.

inoltre...una cosa che mi confonde...non vedo alcun file in wp-admin chiamato admin_footer-post-new.php o admin_footer-post.php. C'è solo admin-footer.php che sembra un file piuttosto semplice. Potrebbe essere questo a far sì che i miei hook non funzionino?

Grazie. Ora ho capito. Stavo inserendo tutto nelle funzioni. Anche i link informativi.

C'è un plugin WordPress per quello:
Confirm Publishing Actions è un plugin WordPress che richiede all'utente di cliccare un pulsante di conferma (o annullamento) ogni volta che sta cercando di inviare, pubblicare, aggiornare o eliminare un articolo WordPress.
