{"id":230601,"date":"2022-12-13T11:08:00","date_gmt":"2022-12-13T08:08:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230601"},"modified":"2022-12-13T11:10:14","modified_gmt":"2022-12-13T08:10:14","slug":"wordpressi-seadete-ekraanide-korraldamine","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-seadete-ekraanide-korraldamine\/","title":{"rendered":"WordPressi seadete ekraanide korraldamine"},"content":{"rendered":"\n<p>Kuna paljud meist j\u00e4tkavad <strong><a href=\"https:\/\/php.net\/manual\/en\/migration70.new-features.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP7+ kasutamist<\/a><\/strong>, saame j\u00e4tkuvalt kasutada paljusid uusi funktsioone, mida keel pakub.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161718-61e728aab90bf.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-161718-61e728aab90bf.png\" alt=\"WordPressi seadete ekraanide korraldamine\"><\/a><\/p>\n<p>Vahepeal on aga PHP-s ja sellega seotud tarkvaras endiselt funktsioone, mida saame kasutada, et aidata oma arendust sujuvamaks muuta. V\u00e4him neist (ja see, millest ma olen natuke <strong><a href=\"https:\/\/wordpress.mediadoma.com\/et\/nimeruumid-ja-automaatne-laadimine-wordpressis\/\" title=\"kirjutanud ja r\u00e4\u00e4kinud) on nimeruumid.\">kirjutanud ja r\u00e4\u00e4kinud) on nimeruumid.<\/a><\/strong><\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161718-61e728af99d84.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-161718-61e728af99d84.png\" alt=\"WordPressi seadete ekraanide korraldamine\"><\/a><\/p>\n<p>Asi on aga siin: mulle meeldib, kui minu pistikprogrammi failid ja kataloogid oleksid struktureeritud nii, et need peegeldaksid nende j\u00e4rgitud nimeruumi tavasid. Ja seda saab teha taksonoomiate, metakastide, domeeniobjektide, andmebaasiga seotud funktsioonide ja muu jaoks.<\/p>\n<p>Selles postituses tahan aga r\u00e4\u00e4kida viisist, kuidas korraldada WordPressi seadete ekraane nii loogilisest \u2013 st nende failis\u00fcsteemi asukohast \u2013 kui ka virtuaalsest \u2013 st nende nimeruumidest \u2013 organisatsioonistruktuuridest.<\/p>\n<h2>WordPressi seadete ekraanide korraldamine<\/h2>\n<p>Esimene punkt, mida tahan \u00f6elda, on j\u00e4rgmine: kuigi ma r\u00e4\u00e4gin WordPressi seadete ekraanide korraldamisest, ei r\u00e4\u00e4gi ma API-st midagi. Selle asemel eeldage, et selle postituse puhul r\u00e4\u00e4gin j\u00e4rgmisest:<\/p>\n<ul>\n<li>kohandatud men\u00fc\u00fc, millel on seotud <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_menu_page\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">men\u00fc\u00fcleht,<\/a><\/strong><\/li>\n<li>men\u00fc\u00fcleht, mis esitab seadete lehe n\u00f5uded (nt <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_nonce_field\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">v\u00e4li nonce<\/a><\/strong> ja nii edasi)<\/li>\n<li>osa, mis sisaldab tegelikke s\u00e4tteid (v\u00f5i mitut osa, kui soovite lisada mitu seadet).<\/li>\n<\/ul>\n<p>Ma ei r\u00e4\u00e4gi desinfitseerimise, serialiseerimise, otsimise, kinnitamise ja kuvamise protsessist. See on puhtalt korralduslik.<\/p>\n<h3>Protsessi kaudu m\u00f5tlemine<\/h3>\n<p>Arvestades, et hakkame oma faile korraldama kataloogide kaudu, mis on ka nimeruumidega 1:1 vastendatud, m\u00f5elgem t\u00e4pselt l\u00e4bi, mida me vajame. Ma l\u00e4henen sellele j\u00e4rgmiselt:<\/p>\n<ol>\n<li>Loome midagi spetsiaalselt WordPressi kontekstirakenduse jaoks. See t\u00e4histab nimeruumi.<\/li>\n<li>Loome haldusmen\u00fc\u00fc, mis t\u00e4hendab, et t\u00f6\u00f6tame nii WordPressi haldusalas, seega teises nimeruumis, kui ka men\u00fc\u00fcdega, mis on teine \u200b\u200bnimeruum.<\/li>\n<li>J\u00e4rgmiseks vajame faile WordPressi standardekraani kuvamiseks, nii et vajame Viewsi nimeruumi,<\/li>\n<li>Ja siis vajame vaatesse kuvamiseks domeenispetsiifilist koodi, nii et l\u00f5puks vajame Partialsi kataloogi (ja seega ka nimeruumi).<\/li>\n<\/ol>\n<p>Seega n\u00e4eks andmete l\u00f5plik, loogiline korraldus v\u00e4lja umbes selline:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161718-61e728b4f0fe4.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-161718-61e728b4f0fe4.png\" alt=\"WordPressi seadete ekraanide korraldamine\"><\/a><\/p>\n<p>V\u00f5ib-olla on k\u00f5ige olulisem selle failikorralduse puhul m\u00e4rkida, et <strong>AdminMenu<\/strong> klass on p\u00f5hiklass, millest k\u00f5ik konkreetsed (v\u00f5i konkreetsemad) klassid v\u00f5ivad p\u00e4rida.<\/p>\n<p>See t\u00e4hendab, et klass <strong>AcmeAdminMenu<\/strong> p\u00e4rib sellelt teatud atribuudid ja funktsioonid ning seej\u00e4rel rakendab oma loogika v\u00f5i lisab selle loogika.<\/p>\n<h3>Iga faili nimevahe<\/h3>\n<p>Kui te oma faile sel viisil korraldate, muutuvad nimeruumid peaaegu iseenesestm\u00f5istetavaks, kas pole? Siin on iga faili nimeruum:<\/p>\n<ul>\n<li>WordPressAdminMenuAdminMenu<\/li>\n<li>WordPressAdminMenuAcmeAdminMenu<\/li>\n<li>WordPressAdminMenuViewsSettings<\/li>\n<li>WordPressAdminMenuViewsSettingsPartials<\/li>\n<\/ul>\n<p>Pange t\u00e4hele, et kuna <strong>acme-settings.php<\/strong> on tehniliselt lihtsalt renderdusvalikute m\u00e4rgistus, ei pea see tingimata olema nimeruumiga, kuna see sisaldub seda renderdavas <strong>vaates .<\/strong><\/p>\n<p>Sellest hoolimata, kui armastate asju v\u00f5imalikult organiseeritult hoida, on m\u00f5ttekas pesastada ainult osa selle nimega kataloogi.<\/p>\n<h2>Aga koodiga?<\/h2>\n<p>Kui olete huvitatud millegi sellise koodi n\u00e4gemisest, kaalun v\u00e4ikese pistikprogrammi kokkupanemist, mis n\u00e4itaks, kuidas see k\u00f5ik kokku sobib. L\u00f5ppude l\u00f5puks on see natuke k\u00f5rgel tasemel, kas pole? Ma m\u00f5tlen, et rakendamist pole.<\/p>\n<p>J\u00e4llegi, kui see aitab teid praeguse v\u00f5i tulevase projekti jaoks \u00f5iges suunas suunata, v\u00f5ib sellest piisata.<\/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>Tahan r\u00e4\u00e4kida viisist, kuidas korraldada WordPressi seadete ekraane nii loogikast kui ka virtuaalsetest organisatsioonistruktuuridest.<\/p>\n","protected":false},"author":1,"featured_media":236109,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,833,894,802,863],"tags":[1165],"class_list":["post-230601","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-juhend-algajatele","category-kood","category-php-4","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230601","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=230601"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230601\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/236109"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=230601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=230601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=230601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}