{"id":230424,"date":"2022-11-22T14:55:00","date_gmt":"2022-11-22T11:55:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230424"},"modified":"2022-11-09T22:19:33","modified_gmt":"2022-11-09T19:19:33","slug":"iterazione-sulla-progettazione-della-schermata-di-amministrazione-di-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/iterazione-sulla-progettazione-della-schermata-di-amministrazione-di-wordpress\/","title":{"rendered":"Iterazione sulla progettazione della schermata di amministrazione di WordPress"},"content":{"rendered":"\n<p>L&#8217;idea di un &quot;processo iterativo&quot; non \u00e8 una novit\u00e0 nello sviluppo del software. \u00c8 presente in diverse metodologie e probabilmente perch\u00e9 funziona bene soprattutto quando si riceve il feedback dei clienti.<\/p>\n<p>Uno dei posti in cui lo trovo utile \u00e8 anche durante la creazione di interfacce di amministrazione per i plugin di WordPress.<\/p>\n<p>Per essere chiari, non sono un designer, quindi quando si tratta di lavoro di front-end, mi riferisco sempre alla style guide e ai mockup che il designer mi fornisce fin dall&#8217;inizio del progetto. (Lo menziono solo perch\u00e9 penso che sia una pratica che chiunque non sia un designer dovrebbe seguire, ma sto divagando).<\/p>\n<p>Ma quando si tratta di lavorare su schermate di amministrazione o schermate di back-end per WordPress, tendo a seguire una regola rigida: assicurarsi che appaia il pi\u00f9 naturale possibile.<\/p>\n<p>In che modo, quindi, lo sviluppo iterativo e l&#8217;interfaccia delle schermate di amministrazione di WordPress hanno qualcosa a che fare l&#8217;uno con l&#8217;altro?<\/p>\n<h2>Progettazione della schermata di amministrazione di WordPress<\/h2>\n<p>Questo articolo particolare rinuncia a parlare di cose che sono previste per il salvataggio delle informazioni. Cio\u00e8, presumo tutto:<\/p>\n<ul>\n<li>sanificazione,<\/li>\n<li>convalida,<\/li>\n<li>senza controlli,<\/li>\n<li>controlli di autorizzazione,<\/li>\n<\/ul>\n<p>E simili sono compresi e gestiti.<\/p>\n<p>Per questo post, lo manterr\u00f2 semplice. Diciamo che vogliamo avere:<\/p>\n<ul>\n<li>un paio di campi di testo,<\/li>\n<li>un pulsante di salvataggio,<\/li>\n<li>un pulsante di ripristino,<\/li>\n<li>e forse qualcosa in pi\u00f9 alla fine.<\/li>\n<\/ul>\n<p>Come potrebbe svolgersi attraverso un processo iterativo durante la progettazione?<\/p>\n<h3>1 Disegnandolo<\/h3>\n<p>Supponiamo che tu stia lavorando a qualcosa e che stai pianificando l&#8217;aspetto della schermata amministrativa. Dato quello che avevamo sopra, forse uno schizzo iniziale potrebbe assomigliare a questo:<\/p>\n<p>Abbastanza facile, giusto? Rappresenta ci\u00f2 che il progetto deve mantenere e mostra tutto ci\u00f2 di cui abbiamo bisogno per questa particolare schermata di amministrazione.<\/p>\n<h3>2 Costruirlo<\/h3>\n<p>Una volta messo insieme, dovrebbe sembrare il pi\u00f9 nativo possibile. Dati gli stili che abbiamo a disposizione in WordPress, \u00e8 relativamente facile costruirlo con le API e il markup disponibili:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164847-61e76fc6c5f0d.jpg\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164847-61e76fc6c5f0d.jpg\" alt=\"Iterazione sulla progettazione della schermata di amministrazione di WordPress\" ><\/a><\/p>\n<p>E cosa fanno ogni campo e pulsante?<\/p>\n<h3>3 Perfezionarlo<\/h3>\n<p>\u00c8 qui che entra in gioco il perfezionamento della funzionalit\u00e0. Per esempio:<\/p>\n<ul>\n<li>Non credo che il pulsante <strong>Salva<\/strong> dovrebbe essere abilitato fino a quando i campi richiesti non vengono compilati,<\/li>\n<li>Penso che il pulsante <strong>Ripristina<\/strong> dovrebbe cancellare ci\u00f2 che \u00e8 presente,<\/li>\n<li>Dovrebbe esserci un certo grado di messaggi di errore che rappresentano tutti ci\u00f2 che dobbiamo fare quando qualcosa fallisce, quando qualcosa potrebbe non essere giusto o qualcosa \u00e8 completamente sbagliato.<\/li>\n<\/ul>\n<p>Ovviamente, \u00e8 molto pi\u00f9 facile parlarne quando non si tratta di un progetto specifico, ma forse alcune delle idee sono applicabili in qualunque cosa tu stia facendo.<\/p>\n<h2>Miglioramenti asincroni?<\/h2>\n<p>Una delle cose a cui ci siamo abituati con dispositivi come i nostri telefoni e alcune parti dei nostri sistemi operativi \u00e8 che quando attiviamo un interruttore o apportiamo una piccola modifica, i dati vengono salvati.<\/p>\n<p>Cio\u00e8, non \u00e8 richiesta alcuna azione di conferma (a parte qualcosa di distruttivo come l&#8217;eliminazione di un file, ovviamente). I dati vengono semplicemente salvati e l&#8217;opzione funziona.<\/p>\n<p>Tuttavia, vediamo ancora molti pulsanti <strong>Salva<\/strong> in WordPress, vero? Che dire del salvataggio degli input tramite Ajax o un altro metodo asincrono? Questo \u00e8 qualcosa che devo ancora implementarlo ma l&#8217;ho sicuramente considerato.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quando si lavora sulla progettazione della schermata di amministrazione di WordPress, c&#8217;\u00e8 un processo iterativo che possiamo seguire ai fini della qualit\u00e0.<\/p>\n","protected":false},"author":1,"featured_media":223984,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[844,865],"tags":[1168],"class_list":["post-230424","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=230424"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230424\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/223984"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}