{"id":228710,"date":"2022-10-31T09:19:00","date_gmt":"2022-10-31T06:19:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228710"},"modified":"2022-11-09T03:57:44","modified_gmt":"2022-11-09T00:57:44","slug":"att-skriva-wordpress-plugins-foer-befintliga-funktioner","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/att-skriva-wordpress-plugins-foer-befintliga-funktioner\/","title":{"rendered":"Att skriva WordPress-plugins f\u00f6r befintliga funktioner"},"content":{"rendered":"\n<p>I ett tidigare inl\u00e4gg har jag pratat om WordPress designfilosofi om <a href=\"https:\/\/tommcfarlin.com\/wordpress-philosophy-decisions-not-options\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">beslut, inte alternativ<\/a>. Och jag jobbar p\u00e5 att komma till en punkt, men jag m\u00e5ste l\u00e4gga grunden lite om det hela f\u00f6rst.<\/p>\n<p>Du kan l\u00e4sa hela upps\u00e4ttningen av filosofier <a href=\"https:\/\/wordpress.org\/about\/philosophy\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">p\u00e5 den h\u00e4r sidan<\/a>, men h\u00e4r \u00e4r k\u00e4rnan om den jag just har n\u00e4mnt:<\/p>\n<blockquote>\n<p>N\u00e4r vi fattar beslut \u00e4r det dessa anv\u00e4ndare vi \u00f6verv\u00e4ger f\u00f6rst. Ett bra exempel p\u00e5 detta \u00e4r programvarualternativ. Varje g\u00e5ng du ger en anv\u00e4ndare ett alternativ ber du dem att fatta ett beslut. N\u00e4r en anv\u00e4ndare inte bryr sig eller f\u00f6rst\u00e5r alternativet leder detta i slut\u00e4ndan till frustration.<\/p>\n<p>Som utvecklare k\u00e4nner vi ibland att det \u00e4r bra att ge alternativ f\u00f6r allt, man kan aldrig ha f\u00f6r m\u00e5nga val, eller hur? I slut\u00e4ndan blir dessa val tekniska, val som den genomsnittliga slutanv\u00e4ndaren inte har n\u00e5got intresse av.<\/p>\n<p>Det \u00e4r v\u00e5r plikt som utvecklare att fatta smarta designbeslut och undvika att l\u00e4gga tyngden av tekniska val p\u00e5 v\u00e5ra slutanv\u00e4ndare.<\/p>\n<\/blockquote>\n<p>Detta \u00e4r utan tvekan min favoritfilosofi som definierar vad som ska ing\u00e5 i WordPress-k\u00e4rnan och hur; \u00e4ven om jag skulle vara f\u00f6rsumlig om jag inte sa att jag tror att det finns f\u00f6rb\u00e4ttringsomr\u00e5den.<\/p>\n<p>(Jag vet att det \u00e4r h\u00e4r diskussionen kan ta en sv\u00e4ng till v\u00e4nsterf\u00e4ltet, men jag vet inte hur jag ska g\u00f6ra det, och jag f\u00f6rs\u00f6ker inte heller starta <a href=\"http:\/\/www.dictionary.com\/browse\/armchair-quarterback\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">f\u00e5t\u00f6ljquarterbacking<\/a> .)<\/p>\n<p>Men h\u00e4r \u00e4r fr\u00e5gan:<\/p>\n<p>Om det finns ett omr\u00e5de i WordPress UI som kan f\u00f6rb\u00e4ttras med ett plugin som har samma funktionalitet som redan finns i plugin, \u00e4r det v\u00e4rt att skapa plugin om funktionen redan finns?<\/p>\n<p>\u00c4r det vettigt att skapa WordPress-plugins f\u00f6r befintliga funktioner om plugin-programmet f\u00f6ljer filosofin &quot;designer, inte alternativ&quot; mer \u00e4n k\u00e4rnfunktionen?<\/p>\n<p>F\u00f6r det f\u00f6rsta k\u00e4nner jag igen den lite bristande logik som ing\u00e5r i detta uttalande. Jag menar, det jag har ute \u00e4r:<\/p>\n<ol>\n<li>Vi m\u00e5ste fatta fler beslut p\u00e5 uppdrag av anv\u00e4ndaren och erbjuda dem f\u00e4rre alternativ.<\/li>\n<li>Ett alternativ finns redan i k\u00e4rnan.<\/li>\n<li>Skapa ett plugin f\u00f6r att introducera funktionalitet som redan finns, och p\u00e5 s\u00e5 s\u00e4tt duplicera det, men effektivisera det s\u00e5 att det fattar ett beslut \u00e5t anv\u00e4ndaren f\u00f6r deras r\u00e4kning.<\/li>\n<\/ol>\n<p>S\u00e5 kanske slutar diskussionen med den tredje punkten ovan. Men, f\u00f6r diskussionens skull (f\u00f6r argument, om det \u00e4r din smak) vill jag ta ett exempel bara f\u00f6r detta inl\u00e4gg.<\/p>\n<h3>En titt p\u00e5 diskussionsinst\u00e4llningar<\/h3>\n<p>Diskussionsinst\u00e4llningarna som finns under\u00a0 menyn <strong>Inst\u00e4llningar<\/strong> f\u00f6r WordPress kan vara lite \u00f6verv\u00e4ldigande \u00e4ven f\u00f6r, vad jag tror, \u200b\u200b\u00e4r bloggare p\u00e5 mellanniv\u00e5 \u00e4n mindre nyb\u00f6rjare eller utvecklare.<\/p>\n<p>Sk\u00e4rmen Diskussionsinst\u00e4llningar.<\/p>\n<p>Det tar lite tid att inte bara l\u00e4sa att l\u00e4sa igenom de alternativ som finns utan att f\u00f6rst\u00e5 dem. Och sedan finns det mer avancerade alternativ som <strong>kommentarsvartlistan<\/strong> som jag tror kan vara en del av en <strong>avancerad<\/strong> flik.<\/p>\n<p>Men jag avviker.<\/p>\n<p>Det finns ett alternativ under <strong>Andra kommentarsinst\u00e4llningar<\/strong> som s\u00e4ger:<\/p>\n<p>&quot;St\u00e4ng automatiskt kommentarer p\u00e5 artiklar \u00e4ldre \u00e4n [x] dagar.&quot;<\/p>\n<p>Den h\u00e4r funktionen \u00e4r i och f\u00f6r sig inte d\u00e5lig, men t\u00e4nk om jag bara vill st\u00e4nga kommentarer p\u00e5 artiklar som \u00e4r \u00e4ldre \u00e4n [x] dagar om de har 0 kommentarer. Nu, det d\u00e4r villkorade \u2013 det vill s\u00e4ga &quot;om de har 0 kommentarer&#8221; \u2013 tror jag \u00e4r ett exempel p\u00e5 vad ett plugin kan hantera.<\/p>\n<p>Men alternativet som presenteras som det \u00e4r. Det \u00e4r:<\/p>\n<p>&quot;St\u00e4ng automatiskt kommentarer p\u00e5 artiklar \u00e4ldre \u00e4n [x] dagar.&quot;<\/p>\n<p>Jag ser anledningen till att detta \u00e4r ett alternativ. Ingen ska ta ett beslut p\u00e5 uppdrag av en anv\u00e4ndare om hur deras kommentarer ska hanteras.<\/p>\n<ul>\n<li>\u00c4r hur det presenteras dock s\u00e5 tydligt som det kan vara?<\/li>\n<li>\u00c4r sk\u00e4rmen i och f\u00f6r sig gynnsam f\u00f6r att anv\u00e4ndarna ska l\u00e4sa, svara och justera och \u00e4r n\u00f6dv\u00e4ndigt? Eller \u00e4r det s\u00e5 \u00f6verbelastat med alternativ att de helt enkelt undviker det?<\/li>\n<li>Kan just den h\u00e4r funktionen f\u00f6rpassas till ett plugin (eller en del av en svit av plugins) som \u00e4r direkt relaterat till kommentarshantering f\u00f6r att till\u00e5ta anv\u00e4ndare att styra sina kommentarer via plugins?<\/li>\n<\/ul>\n<p>Plugins \u00e4r trots allt fr\u00e4mst f\u00f6r funktionalitet, och kommentarmoderering har mer att g\u00f6ra med funktionalitet \u00e4n presentation.<\/p>\n<p>\u00c4r det d\u00e5 vettigt att skapa ett WordPress-plugin f\u00f6r befintliga funktioner som denna med tanken att det \u00e4r en enkel installation, aktivera-och-g\u00e5, f\u00f6r anv\u00e4ndare utan att de ska skanna en hel lista med alternativ och f\u00f6rst\u00e5 vad som presenteras f\u00f6r dem?<\/p>\n<p>Personligen \u00e4r jag p\u00e5 st\u00e4ngslet, men jag \u00e4r genuint intresserad av att \u00e5tminstone experimentera med det f\u00f6r att se hur det kan prestera. Visst, det h\u00e4r betyder att jag bara ska l\u00e4gga min kod d\u00e4r mina tankar \u00e4r \u2013 och det kanske jag g\u00f6r \ud83d\ude0e \u2013 men det \u00e4ndrar inte det faktum att jag \u00e4r nyfiken p\u00e5 andras id\u00e9er.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00c4r det vettigt att skapa WordPress-plugins f\u00f6r befintliga funktioner om det f\u00f6ljer filosofin &#8221;design, inte alternativ&#8221; mer \u00e4n k\u00e4rnan?<\/p>\n","protected":false},"author":1,"featured_media":221177,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[922,818,724,868],"tags":[1173],"class_list":["post-228710","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oevrig","category-plugins-3","category-utvecklaren","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/228710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=228710"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/228710\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/221177"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=228710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=228710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=228710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}