Guida alle tecnologie

Aggiungere una conferma prima di pubblicare un articolo in WordPress

• 5 min read • WordPress • Aggiornato 20 Oct 2025
Conferma prima di pubblicare in WordPress
Conferma prima di pubblicare in WordPress

Perché serve una conferma prima di pubblicare

Noi blogger spesso pubblichiamo molti articoli e, a volte, premiamo il pulsante Pubblica per errore. Questo può causare contenuti incompleti o non revisionati online, con condivisioni automatiche su social, invii a iscritti via email e commenti confusi dai lettori. Una semplice conferma prima di pubblicare evita questi problemi e protegge la reputazione del sito.

Importante: la conferma non sostituisce il controllo qualità. Serve come ultima barriera contro errori umani.

Opzioni disponibili

  • Metodo semplice: plugin gratuito. Ideale per chi non vuole toccare codice.
  • Metodo manuale: aggiungere uno snippet PHP. Ideale per chi preferisce meno plugin e più controllo.

Metodo 1: Usare un plugin gratuito

Il modo più rapido è installare il plugin Confirm Publishing Actions. Puoi aggiungerlo tramite il pannello Plugin di WordPress o caricandolo nella cartella wp-content/plugins.

Cosa fa il plugin:

  • Mostra un avviso quando provi a pubblicare, aggiornare o eliminare un articolo.
  • Non richiede configurazioni aggiuntive.

Quando usare questo metodo:

  • Sei alle prime armi con WordPress.
  • Vuoi una soluzione pronta senza modificare il tema.

Limitazioni:

  • Aggiunge un plugin in più alla tua istanza.
  • Potrebbe non funzionare con editor o flussi di lavoro personalizzati molto customizzati.

Metodo 2: Aggiungere uno snippet nel tema o in un plugin specifico

Se preferisci non installare plugin, puoi incollare il seguente codice nel file functions.php del tema (o meglio: in un plugin specifico del sito per non perderlo cambiando tema). Il codice aggiunge uno script nella footer dell’area di amministrazione che mostra una conferma quando si clicca su Pubblica o Aggiorna.


  (function($){
    $(document).ready(function(){
      var confirmMsg = """" . esc_js($message) . """";
      $(document).on('click', '#publish, #save-post, #save-post-legacy', function(e){
        if(!confirm(confirmMsg)){
          e.stopImmediatePropagation();
          e.preventDefault();
        }
      });
    });
  })(jQuery);
  ";
}
add_action('admin_footer','wp_add_publish_confirmation');

Spiegazioni rapide:

  • Modifica la stringa $message per personalizzare il testo.
  • L’uso di esc_js aiuta a evitare problemi con gli apostrofi e le virgolette.
  • Puoi includere altri selettori se il tuo editor usa pulsanti con ID diversi.

Nota tecnica: se usi l’Editor a blocchi (Gutenberg) o builder che non usano i pulsanti standard, verifica i selettori DOM; potrebbe essere necessario adattare lo script.

Suggerimenti e varianti del codice

  • Se vuoi limitare la conferma solo per ruoli specifici (es. Autore), aggiungi un controllo di capability in PHP come current_user_can(‘edit_posts’).
  • Se preferisci una finestra modale personalizzata, puoi sostituire confirm() con una libreria di modali (es. SweetAlert) caricata nell’admin.
  • Per un comportamento non intrusivo, mostra la conferma solo quando il titolo o il contenuto non sono completi (es. titolo vuoto).

Esempio rapido per limitare a ruoli non amministratori:

Checklist prima di implementare

  • Verifica la versione di WordPress e del tema.
  • Esegui un backup prima di modificare functions.php.
  • Testa lo snippet in un ambiente di staging.
  • Se usi un plugin, controlla aggiornamenti e compatibilità.

Checklist per l’autore:

  • Titolo corretto e formattato
  • Contenuto spell-checked
  • Featured image impostata
  • Meta e SEO verificati
  • Data di pubblicazione pianificata (se necessario)

Checklist per l’amministratore:

  • Backup recente
  • Controllo compatibilità plugin
  • Accesso al file manager o FTP
  • Staging disponibile per test

Casi in cui la conferma potrebbe fallire

  • Editor personalizzati o page builder che non usano i pulsanti con ID standard possono bypassare lo script.
  • Script di terze parti che intercettano e gestiscono la pubblicazione in modo asincrono.
  • Utenti con javascript disabilitato non vedranno la conferma (in genere irrilevante nell’admin WordPress).

Soluzione: testare in ambiente staging e adattare i selettori JavaScript.

Test di accettazione

  • Caso 1: Utente normale clicca Pubblica e appare la finestra di conferma.
  • Caso 2: Utente annulla la conferma e il post non viene pubblicato.
  • Caso 3: Amministratore (se escluso) non vede la conferma.
  • Caso 4: Pubblicazione tramite API REST non viene bloccata dallo script client-side (comportamento previsto).

Best practice e sicurezza

  • Evita di affidarti solo a controlli client-side per policy critiche; il controllo qui è una comodità UX.
  • Mantieni aggiornati plugin e tema per ridurre incompatibilità.
  • Se memorizzi preferenze utente per la conferma, assicurati di rispettare GDPR per i dati personali.

Alternativa avanzata: conferma lato server

Per flussi più rigorosi, implementa un flusso lato server che richiede uno stato di bozza confermato prima di cambiare lo status in publish. Questo richiede più codice e modifica dei salvataggi post, ma garantisce che le pubblicazioni tramite API non avvengano accidentalmente.

Mini-metodologia:

  1. Aggiungi un campo personalizzato “confirm_publish” quando l’utente richiede pubblicazione.
  2. Intercetta save_post in PHP e, se mancante, blocca la pubblicazione e imposta lo stato su draft con notifica.
  3. Fornisci un pulsante di conferma che imposta “confirm_publish” e rilancia la pubblicazione.

Questa soluzione è più sicura ma più complessa da testare.

Compatibilità e migrazione

  • Se cambi tema, sposta lo snippet in un plugin specifico del sito per non perderlo.
  • Verifica l’ID dei pulsanti nell’editor in uso (Gutenberg, Classic, page builder). Gli ID possono cambiare tra versioni.

Ruoli e responsabilità

  • Autore: usa la conferma come controllo finale.
  • Editor: può disabilitare la conferma per autori affidabili o mantenere per revisione.
  • Admin: implementa la soluzione in staging e monitora compatibilità.

Riepilogo

Aggiungere una conferma prima di pubblicare è una misura semplice ed efficace per prevenire errori umani. Puoi ottenere lo stesso risultato con un plugin gratuito o con un breve snippet PHP. Testa sempre le modifiche in staging e considera una soluzione server-side se hai flussi editoriali complessi.

Note finali:

  • Se riscontri problemi durante l’aggiunta del codice, commenta sotto o contatta l’amministratore del sito.
  • Migliore pratica: implementa lo snippet in un plugin personalizzato per preservarlo quando cambi tema.
Autore
Redazione

Materiali simili

Installare e usare Podman su Debian 11
DevOps

Installare e usare Podman su Debian 11

Guida rapida a apt-pinning su Debian
Linux

Guida rapida a apt-pinning su Debian

Forzare FSR 4 con OptiScaler: guida completa
Guide.

Forzare FSR 4 con OptiScaler: guida completa

Dansguardian + Squid NTLM su Debian Etch
Rete

Dansguardian + Squid NTLM su Debian Etch

Riparare errore installazione SD su Android
Android

Riparare errore installazione SD su Android

Cartelle di rete con KNetAttach e remote:/
Linux

Cartelle di rete con KNetAttach e remote:/