{"id":230646,"date":"2022-12-14T13:16:00","date_gmt":"2022-12-14T10:16:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230646"},"modified":"2022-12-14T13:16:11","modified_gmt":"2022-12-14T10:16:11","slug":"abifunktsioon-administraatoriteatiste-jaoks","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/abifunktsioon-administraatoriteatiste-jaoks\/","title":{"rendered":"Abifunktsioon administraatoriteatiste jaoks"},"content":{"rendered":"\n<p>Kui tegelete pistikprogrammide v\u00f5i isegi teemade loomisega ja lisate oma t\u00f6\u00f6sse objektorienteeritud praktikaid, seisate t\u00f5en\u00e4oliselt silmitsi teatud t\u00fc\u00fcpi serialiseerimisega. Ja \u00fcks serialiseerimise aspekte on see, et see n\u00f5uab kasutajalt teatud t\u00fc\u00fcpi tagasisidet.<\/p>\n<p>See v\u00f5ib olla eduteade, eba\u00f5nnestumisteade v\u00f5i lihtsalt s\u00f5num, mis hoiatab kasutajat, et m\u00f5ni l\u00e4ks valesti v\u00f5i v\u00f5ib-olla tuleks midagi v\u00e4rskendada.<\/p>\n<p>Igal juhul pakub WordPress k\u00f5iki vajalikke v\u00f5imalusi; aga saame selle enda jaoks veelgi lihtsamaks teha, kirjutades administraatorite teadete jaoks abifunktsiooni. See on ka lihtne.<\/p>\n<h2>Administraatori teated: abifunktsioon<\/h2>\n<p>Administraatoriteatiste kirjutamisel on oluline teada <strong><a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Action_Reference\/admin_notices\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sobivat konksu.<\/a><\/strong><\/p>\n<p>Sealt edasi peate teadma ka j\u00e4rgmisi klassinimesid:<\/p>\n<ul>\n<li>teade-viga<\/li>\n<li>m\u00e4rkamine-edu<\/li>\n<li>teade-hoiatus<\/li>\n<li>teade-info<\/li>\n<\/ul>\n<p>Selle abil on v\u00f5imalik kirjutada abifunktsioon, mis kasutab \u00fclaltoodud konksu ja <strong><a href=\"https:\/\/php.net\/manual\/en\/functions.anonymous.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">anon\u00fc\u00fcmset funktsiooni<\/a><\/strong> (v\u00f5i <strong><a href=\"https:\/\/php.net\/manual\/en\/class.closure.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sulgemist<\/a><\/strong> ), et saavutada t\u00e4pselt seda, mida vajate. Kuid k\u00f5igepealt pange t\u00e4hele j\u00e4rgmist:<\/p>\n<blockquote>\n<p>Anon\u00fc\u00fcmsed funktsioonid, tuntud ka kui sulgemised, v\u00f5imaldavad luua funktsioone, millel pole m\u00e4\u00e4ratud nime. Need on k\u00f5ige kasulikumad <a href=\"https:\/\/php.net\/manual\/en\/language.pseudo-types.php#language.types.callback\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tagasihelistamise<\/a> parameetrite v\u00e4\u00e4rtusena, kuid neil on palju muid kasutusviise.<\/p>\n<\/blockquote>\n<p>Seda \u00f6eldes peaks teil olema abistaja kirjutamiseks k\u00f5ik vajalik ja teil peaks olema idee, millal see t\u00fchjendada.<\/p>\n<p>Esiteks <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/a7b10e37c4128913e4069f2825a443cd#file-00-display-admin-notice-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">abistaja funktsioon:<\/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>J\u00e4rgmiseks oletame, et taotlus sisaldab kehtetuid andmeid. Selle lahendamiseks kasutaksite \u00fclaltoodud abimeest <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/a7b10e37c4128913e4069f2825a443cd#file-01-admin-notice-error-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">j\u00e4rgmiselt.<\/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>Teisest k\u00fcljest oletame, et <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/a7b10e37c4128913e4069f2825a443cd#file-02-admin-notice-success-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">k\u00f5ik t\u00f6\u00f6tab h\u00e4sti:<\/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>Nagu n\u00e4ete, kasutab see funktsioon WordPressi natiivseid konkse, PHP v\u00f5imalusi ja loob ka <strong><a href=\"https:\/\/wordpress.mediadoma.com\/et\/kirjutamisueksuse-testid-phpunitiga-1-osa-seadistamine\/\" title=\"\u00fchikutestitava\">\u00fchikutestitava<\/a><\/strong> meetodi, mis on oluline, kui soovite kirjutada <strong><a href=\"https:\/\/tommcfarlin.com\/web-application-foundation\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPressis testitavaid veebirakendusi.<\/a><\/strong><\/p>\n<p>Ja isegi kui mitte, on teil lihtsam viis oma koodi veidi <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Don%27t_repeat_yourself\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kuivamana<\/a><\/strong> hoida, kui see oli varem.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <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 pakub k\u00f5iki vajalikke v\u00f5imalusi; aga saame seda lihtsamaks teha, kirjutades administraatorite teadete jaoks abifunktsiooni. See on ka lihtne.<\/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":[718,894,863],"tags":[1165],"class_list":["post-230646","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=230646"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230646\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/236170"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=230646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=230646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=230646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}