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

Nuova sezione Tastiera in Windows 11 — Guida pratica
Windows

Nuova sezione Tastiera in Windows 11 — Guida pratica

Disattivare X-Ray su Amazon Prime Video
Streaming

Disattivare X-Ray su Amazon Prime Video

Schermo chiamata iPhone non appare: come risolvere
Smartphone

Schermo chiamata iPhone non appare: come risolvere

Widget condizionali WordPress: 3 plugin senza codice
WordPress

Widget condizionali WordPress: 3 plugin senza codice

Provare aggiornamenti Windows 11 prima degli altri
Windows 11

Provare aggiornamenti Windows 11 prima degli altri

VirtualBox: cartella condivisa (Windows & Linux)
Virtualizzazione

VirtualBox: cartella condivisa (Windows & Linux)