{"id":229587,"date":"2022-11-19T16:16:00","date_gmt":"2022-11-19T13:16:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229587"},"modified":"2022-11-19T16:16:02","modified_gmt":"2022-11-19T13:16:02","slug":"wordpressi-haldusekraanide-loomine-komponendid-disain-jne","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-haldusekraanide-loomine-komponendid-disain-jne\/","title":{"rendered":"WordPressi haldusekraanide loomine (komponendid, disain jne)"},"content":{"rendered":"\n<p>Ma ei r\u00e4\u00e4gi palju kasutajaliidese disainist, sest see pole minu fort\u00e9. Olen inimeste jaoks, kes t\u00f6\u00f6tavad oma p\u00f5hiliste tugevuste piires ja palkavad neid siis vajadusel projektip\u00f5hiselt (kui kujundusi pole juba esitatud).<\/p>\n<p>Kuid WordPressi haldusekraanidega t\u00f6\u00f6tamisel on vahe, eks?<\/p>\n<p>Olen seisukohal, et kuna WordPressi haldusalal on \u00fchtlane v\u00e4limus ja tunnetus, peaks k\u00f5ik, mis on loodud haldusekraanil t\u00f6\u00f6tama (nt seadete ekraan), v\u00e4lja n\u00e4gema v\u00f5imalikult l\u00e4hedal kasutajaliidesele.<\/p>\n<p>K\u00f5ik ei ole sellega n\u00f5us ja see on ilmne saadaolevate pistikprogrammide suurest hulgast. Aga see on minu seisukoht selles.<\/p>\n<p>Aeg-ajalt k\u00fcsitakse minult, kuidas struktureerin projektide kasutajaliideseid, kui neil on vaja haldusekraane, ja kuidas ma vastan need projektisiseselt failidele.<\/p>\n<p>Seega m\u00f5tlesin, et v\u00f5tan lihtsa n\u00e4ite ja v\u00f5tan selle selles l\u00fchikeses postituses lahti.<\/p>\n<h2>WordPressi haldusekraanide loomine<\/h2>\n<p>Selle postituse puhul j\u00e4tan selle lihtsaks. See t\u00e4hendab, et ekraan koosneb minimaalsetest juhtnuppudest, mis tavaliselt moodustavad haldusekraani.<\/p>\n<p>See on:<\/p>\n<ul>\n<li>S\u00f5numid (edu, vead v\u00f5i teated),<\/li>\n<li>Pealkirjad ja sisu<\/li>\n<li>Sisendjuhtelemendid<\/li>\n<li><a href=\"https:\/\/codex.wordpress.org\/WordPress_Nonces\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Nonce<\/a> v\u00e4ljad<\/li>\n<\/ul>\n<p>Vahelehtedega saate pisut keerulisemaks minna, kuid \u00fclaltoodud katab 99% p\u00f5hiseadete ekraanist. Ma ei sukeldu selles postituses <a href=\"https:\/\/codex.wordpress.org\/Settings_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">seadete API<\/a> -sse (olen sellest varem <a href=\"https:\/\/tommcfarlin.com\/wordpress-settings-api-example\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">terve seeria<\/a> teinud ).<\/p>\n<p>Selle asemel on tegemist ainult viisiga, kuidas korraldada faile nii, et neid saaks kogu projekti eluea jooksul hooldada,<\/p>\n<h3>Selle l\u00f5hkumine<\/h3>\n<p>Enne kui vaatan, kuidas failid on korraldatud ja kasutatud, tahan visandada, kuidas ma tavaliselt kujutan ette seda, mida ma projekti selle osa kallal ekraanil n\u00e4en.<\/p>\n<p>Nagu n\u00e4ete, on k\u00f5ik \u00fclaltoodud valdkonnad kaetud. Kuid see, kuidas need failid kaardistatakse, on veidi erinev. N\u00e4iteks n\u00e4eb kataloogistruktuur v\u00e4lja umbes selline:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-165140-61e777e4161e6.png\" 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-165140-61e777e4161e6.png\" alt=\"WordPressi haldusekraanide loomine (komponendid, disain jne)\"><\/a><\/p>\n<p>Olenevalt sellest, kuidas te oma lahendust rakendate, s\u00f5ltub n\u00fc\u00fcd sellest, kuidas neid ekraane kuvatakse.<\/p>\n<p>See t\u00e4hendab, et m\u00f5nikord kasutatakse <strong>seadet settings_mesasages()<\/strong> ; muul ajal v\u00f5ite valida n\u00f5udmise_once k\u00e4sitsi kasutamise<strong>,<\/strong> kuna see k\u00f5ik s\u00f5ltub sellest, kuidas te lahendust koostate.<\/p>\n<p>Lihtne vaielda, et seda teha peaks olema \u00fcks viis, kuid kuna inimeste n\u00f5udmised WordPressi kasutamisele muutuvad, muutuvad ka <a href=\"https:\/\/wordpress.mediadoma.com\/et\/objektorienteeritud-programmeerimine-wordpressis-toeoearuanne\/\" title=\"n\u00f5uded ja rakendamine\">n\u00f5uded ja rakendamine<\/a>.<\/p>\n<h2>Kuidas v\u00f5ib kood v\u00e4lja n\u00e4ha?<\/h2>\n<p>Kui otsustate seadete API-st v\u00e4lja astuda ja juurutada, v\u00f5ib m\u00e4rgistus v\u00e4lja n\u00e4ha umbes selline:<\/p>\n<h3>1 T\u00e4ielik kasutajaliides<\/h3>\n<pre><code>&lt;?php\n\/**\n * This is the parent administration UI. This includes a single partial for the messaging.\n *\/\n?&gt;\n&lt;div class=\"wrap\"&gt;\n    &lt;h1 class=\"wp-heading-inline\"&gt;Import New Item&lt;\/h1&gt;\n    &lt;?php include_once 'partials\/error-invalid-file.php'; ?&gt;\n    &lt;div id=\"acme-upload-new-item-pdf\"&gt;\n        &lt;form action=\"\" enctype=\"multipart\/form-data\" method=\"post\"&gt;\n            &lt;p&gt;Upload a PDF&lt;\/p&gt;\n            &lt;input type=\"file\" \/&gt;\n            &lt;?php submit_button( 'Upload' ); ?&gt;\n            &lt;?php wp_nonce_field( 'acme-upload', 'acme-importer' ); ?&gt;\n        &lt;\/form&gt;\n    &lt;\/div&gt;&lt;!-- #acme-upload-new-item-pdf --&gt;\n&lt;\/div&gt;&lt;!-- .wrap --&gt;<\/code><\/pre>\n<h4>2 Kaasasolev s\u00f5numside<\/h4>\n<pre><code>&lt;div id=\"invalid-file-message\" class=\"error notice is-dismissible\"&gt;\n    &lt;p&gt;You have attempted to upload an invalid file type.&lt;\/p&gt;\n    &lt;button type=\"button\" class=\"notice-dismiss\"&gt;\n        &lt;span class=\"screen-reader-text\"&gt;Dismiss this notice.&lt;\/span&gt;\n    &lt;\/button&gt;\n&lt;\/div&gt;&lt;!-- #invalid-file-message --&gt;<\/code><\/pre>\n<h2>See on Barebone<\/h2>\n<p>\u201ePange t\u00e4hele, et see ei h\u00f5lma rahvusvahelistumist ega muid asju, mida teie projekt v\u00f5ib n\u00f5uda. See on t\u00f5esti miinimum.<\/p>\n<p>Aga kui mitte midagi muud, siis annab see aimu, kuidas failid v\u00f5tta ja kokku panna.<\/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>Lihtne n\u00e4ide WordPressi haldusekraanide loomisest, jagades need komponentideks.<\/p>\n","protected":false},"author":1,"featured_media":220968,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,916,842,863],"tags":[1165],"class_list":["post-229587","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-muud","category-opetused","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229587","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=229587"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229587\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/220968"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}