{"id":231383,"date":"2022-12-14T13:53:00","date_gmt":"2022-12-14T10:53:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231383"},"modified":"2022-12-14T13:53:08","modified_gmt":"2022-12-14T10:53:08","slug":"una-funzione-di-supporto-per-gli-avvisi-dellamministratore","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/una-funzione-di-supporto-per-gli-avvisi-dellamministratore\/","title":{"rendered":"Una funzione di supporto per gli avvisi dell&#8217;amministratore"},"content":{"rendered":"\n<p>Se ti occupi della creazione di plug-in, o anche di temi, e stai incorporando pratiche orientate agli oggetti nel tuo lavoro, \u00e8 probabile che ti trovi di fronte a una serializzazione di qualche tipo. E uno degli aspetti della serializzazione che richiede un qualche tipo di feedback per l&#8217;utente.<\/p>\n<p>Questo pu\u00f2 essere un messaggio di successo, un messaggio di errore o un messaggio che avverte semplicemente l&#8217;utente che qualcosa \u00e8 andato storto o forse qualcosa dovrebbe essere aggiornato.<\/p>\n<p>In ogni caso, WordPress fornisce tutte le strutture di cui abbiamo bisogno; tuttavia, possiamo renderlo ancora pi\u00f9 semplice scrivendo una funzione di supporto per gli avvisi dell&#8217;amministratore. \u00c8 anche semplice.<\/p>\n<h2>Avvisi dell&#8217;amministratore: una funzione di supporto<\/h2>\n<p>Quando si tratta di scrivere avvisi di amministrazione, \u00e8 importante familiarizzare con <strong><a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Action_Reference\/admin_notices\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">l&#8217;hook appropriato.<\/a><\/strong><\/p>\n<p>Da l\u00ec, devi anche conoscere i seguenti nomi di classe:<\/p>\n<ul>\n<li>errore di avviso<\/li>\n<li>avviso-successo<\/li>\n<li>avviso-avviso<\/li>\n<li>avviso-info<\/li>\n<\/ul>\n<p>Con ci\u00f2, \u00e8 possibile scrivere una funzione di supporto che utilizzi l&#8217;hook sopra e una <strong><a href=\"https:\/\/php.net\/manual\/en\/functions.anonymous.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">funzione anonima<\/a><\/strong> (o una <strong><a href=\"https:\/\/php.net\/manual\/en\/class.closure.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">chiusura<\/a><\/strong>) per ottenere esattamente ci\u00f2 di cui hai bisogno. Ma prima nota quanto segue:<\/p>\n<blockquote>\n<p>Le funzioni anonime, note anche come chiusure, consentono la creazione di funzioni che non hanno un nome specificato. Sono molto utili come valore dei parametri di <a href=\"https:\/\/php.net\/manual\/en\/language.pseudo-types.php#language.types.callback\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">callback<\/a>, ma hanno molti altri usi.<\/p>\n<\/blockquote>\n<p>Detto questo, dovresti avere tutto il necessario per scrivere il tuo helper e avere un&#8217;idea su quando svuotarlo.<\/p>\n<p>Innanzitutto, <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/a7b10e37c4128913e4069f2825a443cd#file-00-display-admin-notice-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">la funzione di supporto:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\n\/**\n * Provides an easy eay to display an administration notice based on the incoming\n * class and message.\n *\n * @param string $class   the class to add to the notice (warning, error, success)\n * @param string $message the message to display in the administration notice area\n *\/\nprotected function displayAdminNotice($class, $message)\n{\n    add_action(\n        'admin_notices',\n        function() use ($class, $message) {\n            printf(\n                '&lt;div class=\"%1$s\"&gt;&lt;p&gt;%2$s&lt;\/p&gt;&lt;\/div&gt;',\n                esc_attr($class),\n                esc_html($message)\n            );\n        }\n    );\n}<\/code><\/pre>\n<p>Quindi, supponiamo che la richiesta che viene effettuata contenga dati non validi. Per gestire questo, useresti l&#8217;helper sopra <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/a7b10e37c4128913e4069f2825a443cd#file-01-admin-notice-error-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">come il seguente:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\nif (!$this-&gt;hasValidInput()) {\n    $this-&gt;displayAdminNotice(\n        'notice notice-error',\n        'You must specify a valid email address and license key.'\n    );\n}<\/code><\/pre>\n<p>D&#8217;altra parte, diciamo che <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/a7b10e37c4128913e4069f2825a443cd#file-02-admin-notice-success-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tutto funziona bene:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\nif (update_option('acme-option', $values)) {\n    $this-&gt;displayAdminNotice(\n      'notice notice-success',\n      'The options were updated successfully!'\n  );\n}<\/code><\/pre>\n<p>Come puoi vedere, questa funzione utilizza hook nativi di WordPress, funzionalit\u00e0 di PHP e crea anche un metodo che pu\u00f2 essere <strong><a href=\"https:\/\/wordpress.mediadoma.com\/it\/scrivere-unit-test-con-phpunit-parte-1-il-set-up\/\" title=\"testato in unit\u00e0,\">testato in unit\u00e0,<\/a><\/strong> il che \u00e8 importante se stai mirando a scrivere <strong><a href=\"https:\/\/tommcfarlin.com\/web-application-foundation\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">applicazioni Web testabili in WordPress.<\/a><\/strong><\/p>\n<p>E anche in caso contrario, hai un modo pi\u00f9 semplice per mantenere il tuo codice un po&#8217; pi\u00f9 <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Don%27t_repeat_yourself\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ASCIUTTO<\/a><\/strong> di prima.<\/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>WordPress fornisce tutte le strutture di cui abbiamo bisogno; tuttavia, possiamo renderlo pi\u00f9 semplice scrivendo una funzione di supporto per gli avvisi dell&#8217;amministratore. \u00c8 anche semplice.<\/p>\n","protected":false},"author":1,"featured_media":236170,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,720,865],"tags":[1168],"class_list":["post-231383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-sviluppatore","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231383","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=231383"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231383\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/236170"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=231383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=231383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=231383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}