Advertisement
  1. Code
  2. WordPress
Code

I messaggi di notifica permanenti nell'area admin di WordPress: Parte 1

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Persisted WordPress Admin Notices.
Persisted WordPress Admin Notices: Part 2

Italian (Italiano) translation by Cinzia Sgariglia (you can also view the original English article)

I messaggi di notifica nell'area admin di WordPress forniscono un modo conveniente per visualizzare i messaggi agli utenti nell'area amministrativa, ad esempio dopo un post è stato aggiornato o  è stato attivato un plugin. Sono utilizzati anche da molti temi e plugin per visualizzare le notifiche su tutto dalle nuove funzionalità o gli avvertimenti di sicurezza ai dettagli sulle promozioni in corso o l'aggiornamento richiesto.

Il core di WordPress fornisce quattro avvisi diversi nell'area admin che possono essere utilizzati contestualmente per avvertire un utente di un tipo specifico di preavviso. Ciò si ottiene mediante la visualizzazione di un colore di risalto unico per ogni tipo di avviso amministrativo.

Gli avvisi vengono in genere visualizzati nella parte superiore di ogni pagina di admin per distinguersi dal contenuto della pagina principale ed essere chiaramente evidenti. Essi sono elegantemente progettati in modo da non essere troppo visivamente invasivi.

WordPress core admin notice

WordPress riutilizza gli avvisi anche in altri luoghi in tutta l'interfaccia di amministrazione, ad esempio quando è disponibile un aggiornamento di un tema o di un plugin. L'utilizzo di nucleo di avvisi non è limitato alla sola visualizzazione nella parte superiore della schermata admin.

WordPress admin notices in alternative location

Visualizzare un avviso in un tema o un plugin personalizzato è relativamente facile, richiede solo poche righe di codice, come scopriremo presto. Tuttavia, WordPress non fornisce un modo predefinito per ignorare un avviso permanente nell'area admin.

Anche se è possibile aggiungere un pulsante ignora per qualsiasi avviso, questo non gli impedisce di riapparire quando la pagina viene ricaricata. Inoltre, gli avvisi appaiono in ogni pagina di admin, che è tutt'altro che ideale.

Se volete avere un controllo granulare su esattamente quando e dove vengono visualizzati gli avvisi ed essere in grado di ignorarli in modo efficace, è necessario aggiungere del codice personalizzato per modificare il comportamento predefinito.

Che cosa tratteremo

Cominceremo dall'inizio ed esploreremo le nozioni di base dell'implementazione degli avvisi tramite un plugin personalizzato, tra cui visualizzarli solo su determinate pagine nell'area admin di WordPress.

Gli avvisi appaiono su ogni pagina per impostazione predefinita, che non è sempre quello che volete. Per esempio, è possibile solo visualizzare una notifica su una pagina di opzioni del plugin. Quindi il nostro prossimo approdo sarà di visualizzare in modo condizionale gli avvisi a seconda della schermata corrente di admin.

Basandoci su questo, presenteremo dei modi per gestire ulteriori avvisi controllando quando appaiono troppo. Piuttosto che apparire non appena viene caricata la pagina, verranno visualizzati solo se sono soddisfatte determinate condizioni. Questo potrebbe essere utile, a esempio, se si desidera visualizzare un avviso su una pagina di opzioni del plugin, ma solo dopo che erano state salvate le impostazioni.

Come accennato in precedenza, non esiste alcun modo semplice per ignorare gli avvisi permanenti nel mentre la pagina carichi. Così il resto della serie dei tutorial si concentrerà principalmente sui vari metodi utilizzabili per ignorare gli avvisi in modo che non riappaiono in modo imprevisto.

Infine, per un po' di divertimento, vedremo come è possibile creare il proprio avviso personalizzato e aggiungere decorazioni aggiuntive come icone per le vostre notifiche nell'area di admin.

Entro la fine di questa serie di tutorial, sarete in grado di visualizzare qualsiasi tipo di avviso ovunque all'interno dell'area di amministrazione di WordPress. Inoltre, sarete in grado di decidere se mostrare loro al caricamento della pagina o tramite un'azione personalizzata, e sarete anche in grado di ignorarli in una varietà di modi diversi, a seconda delle esigenze.

Volete proseguire?

Otterrete molto da questa serie di tutorial se proseguirete mentre costruiamo ogni esempio di avviso. Il codice è presentato in un approccio graduale che consente di costruire un plugin funzionante proprio mentre progrediremo attraverso il tutorial. Tuttavia, se non desiderate digitare tutto il codice manualmente, il plugin finito sarà disponibile per il download nella quarta parte.

Si presume che avete almeno una rudimentale conoscenza dello sviluppo di plugin WordPress, compreso come funzionano gli hooks. Se così non fosse, allora vi consiglierei la lettura di questi argomenti tramite la documentazione ufficiale di WordPress prima di continuare:

Al fine di testare il codice del plugin di ogni esempio, allora avrete bisogno di un sito WordPress funzionante. Il modo più semplice per farlo è quello di installare WordPress localmente per avere facile accesso alla modifica dei file.

Ci sono molte scelte per lo sviluppo locale con WordPress, tra cui:

Se siete nuovi allo sviluppo di WordPress allora Local o DesktopServer sono probabilmente più facili da impostare. Local è a uso gratuito (hanno una versione premium in corso), e DesktopServer ha una versione limitata (gratuita) più una versione premium disponibile.

Inoltre, qualche esperienza precedente di PHP e JavaScript è consigliata, come anche qualche esperienza di implementazione di chiamate Ajax. Tuttavia, tutto verrà spiegato lungo la strada, quindi una conoscenza approfondita non è richiesta.

Uno sguardo più attento alle notifiche dell'area admin

Diamo un'occhiata alle implementazione più di base di un avviso e al codice necessario per eseguire il rendering di un tipo di avviso di successo.

A Successful admin notice

Tutto quello che abbiamo fatto qui è stato di registrare la funzione display_admin_notice() che verrà eseguita quando l'hook admin_notices viene lanciato. Non importa come viene chiamata la funzione registrata — non influenzerà il rendering dell'avviso.

Non preoccupatevi dell'inserimento del codice di sopra in questo momento; basta concentrarsi su come l'avviso viene generato poiché lo costruiremo in questo nel tutorial in seguito.

È possibile utilizzare qualsiasi markup che si desidera per visualizzare un avviso; tuttavia, il formato consigliato è il seguente:

Sostituite {class} con un elenco di nomi di classi CSS. È necessario includere la classe notice più una qualsiasi delle seguenti classi per determinare il tipo di avviso:

  • notice-error (rosso)
  • notice-warning (giallo/arancione)
  • notice-success (verde)
  • notice-info (blu)
The various admin notices

Il blocco {message} può essere qualsiasi testo o codice HTML valido che verrà visualizzato all'interno dell'avviso.

L'esempio precedente mostra gli avvisi su tutte le pagine di amministrazione, che non è sempre ideale, così nella seconda parte che vedremo come è possibile controllare esattamente su quali pagine appaiono.

C'è un'altra classe CSS integrata, che è possibile aggiungere a div.notice che aggiunge un pulsante ignora all'avviso. Vediamo cosa succede quando la stessa notifica di successo ha la classe is-dismissible aggiunta a essa.

Our first admin notice

Ora abbiamo un modo semplice per ignorare un avviso. Tuttavia, prima di emozionarci troppo, c'è un problema con l'utilizzo di questo metodo. Se si aggiorna la pagina, l'avviso riapparirà! Così, anche se è possibile impostare un avviso di poter essere rimosso, è permanente, e lo stato rimosso è dimenticato nel caricamento della pagina.

Copriremo la permanenza degli avvisi in dettaglio più avanti ed esploreremo i vari modi in cui potete ignorarli senza farli riapparire.

Ma gli avvisi sono terribili! Non è vero?

Se avete familiarità con gli avvisi nell'area di admin di WordPress e/o aggiornati con le notizie di WordPress in generale quindi potreste essere consapevoli di una certa quantità di negatività circa l'uso degli avvisi nei temi e nei plugin personalizzati.

Ciò deriva da alcuni plugin che fanno un uso eccessivo degli avvisi nel tentativo di trasmettere i loro messaggi 'importanti'. Se avete un sacco di plugin installati e solo pochi di loro abusano del sistema di avviso quindi potete rapidamente ritrovarvi con una 'zuppa' di avvisi, dove un intero groviglio di avvisi vengono visualizzati nella parte superiore di ogni pagina di admin.

Gli schermi sovraccarichi di inutili avvisi possono causare il caos (e mal di testa) e sono comprensibilmente fastidiosi per gli utenti, in quanto rendono la gestione di un sito più difficile.

Idealmente, solo gli avvisi importanti, quali gli aggiornamenti critici di sicurezza, devono essere visualizzati a ogni caricamento di pagina. Se visualizzate gli avvisi globali per dire agli utenti che un plugin è stato appena aggiornato, e suggerite di fare clic su un link per ulteriori informazioni, allora dovreste davvero chiedervi se questo deve essere su ogni pagina di admin.

Inoltre, un tipico preferito è quello di visualizzare un avviso non critico che non può facilmente ignorato definitivamente. Vi garantisco che non c'è modo più semplice di alienare gli utenti dei plugin che in questo modo!

Tuttavia, esistono casi di utilizzo di avvisi permanenti non ignorabile, come ad esempio gli aggiornamenti del database. I plugin che utilizzano tabelle personalizzate potrebbero necessitare di eseguire la routine di aggiornamento del database di tanto in tanto per mantenere il plugin in esecuzione correttamente. Così, in questo caso, è ragionevole aggiungere un avviso non ignorabile.

Una buona regola generale è di impiegare solo il buon senso. L'avviso che state per aggiungere al vostro plugin vi infastidisce come utente? Se è così, potreste voler ripensare l'aggiunta dell'avviso, o considerare se sarebbe meglio visualizzarlo in una posizione alternativa.

Conclusione

In questo tutorial, abbiamo coperto cosa sono gli avvisi nell'area di admin e i vari tipi integrati forniti da WordPress, tra cui un avviso non ignorabile. Come abbiamo visto, ci sono alcuni svantaggi per l'implementazione predefinita degli avvisi, a esempio non essere ignorabile e il fatto che vengono sottoposti a rendering in ogni pagina di admin.

WordPress ha un'economia incredibilmente attiva. Ci sono temi, plugin, librerie, e molti altri prodotti che consentono di costruire il vostro sito e progetto. La natura open source della piattaforma, inoltre, lo rende una grande opzione con cui potete migliorare le vostre abilità di programmazione. In ogni caso, potete vedere ciò che abbiamo disponibile su Envato Market.

Il resto dei tutorial in questa serie si concentrerà su come possiamo estendere gli avvisi per essere più pratici quando utilizzati nel vostro plugin e nei vostri temi.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.