{"id":228550,"date":"2022-10-23T09:37:00","date_gmt":"2022-10-23T06:37:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228550"},"modified":"2022-11-09T02:57:32","modified_gmt":"2022-11-08T23:57:32","slug":"millal-kasutada-wordpressi-alamtoiminguid-ja-mis-need-on","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/millal-kasutada-wordpressi-alamtoiminguid-ja-mis-need-on\/","title":{"rendered":"Millal kasutada WordPressi alamtoiminguid (ja mis need on?)"},"content":{"rendered":"\n<p>Hiljuti k\u00e4isin l\u00e4bi klassi konstruktori kasutamise protsessi, et <a href=\"https:\/\/wordpress.mediadoma.com\/et\/peatage-plugina-kaeivitamine-ilma-soltuvuseta\/\" title=\"takistada pistikprogrammi t\u00f6\u00f6tamist,\" >takistada pistikprogrammi t\u00f6\u00f6tamist,<\/a> kui selle eeldatavat s\u00f5ltuvust ei laadita.<\/p>\n<p>Kuigi ma ei pea seda konkreetset strateegiat probleemiks \u00fchekordse s\u00f5ltuvuse v\u00f5i teatud olukordade puhul, v\u00f5ib see p\u00f5hjustada koodil\u00f5hna.<\/p>\n<p>Samuti takistab see meil kasutamast Core&#8217;i natiivset funktsiooni, mida nimetatakse WordPressi alamtekstideks:<\/p>\n<p><a href=\"https:\/\/twitter.com\/JJJ\/status\/822265137935646720\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/twitter.com\/JJJ\/status\/822265137935646720<\/a><\/p>\n<p>Kuid enne alamtekstide vaatamist tahan veenduda, et mul on selged probleemid, mis v\u00f5ivad tingliku l\u00e4henemisviisi kasutamisel (v\u00f5rreldes alaaktsioonidega) levida koodil\u00f5hnadega.<\/p>\n<h2>WordPressi alamtoimingud<\/h2>\n<p>Koodil\u00f5hnade selgitamiseks on palju v\u00f5imalusi, kuid minu lemmikviis <a href=\"https:\/\/en.wikipedia.org\/wiki\/Code_smell\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">p\u00e4rineb Martin Fowlerilt<\/a> :<\/p>\n<blockquote>\n<p>\u2026l\u00f5hnad on koodi teatud struktuurid, mis viitavad p\u00f5hiliste projekteerimisp\u00f5him\u00f5tete rikkumisele ja m\u00f5jutavad negatiivselt disaini kvaliteeti.<\/p>\n<\/blockquote>\n<p>Allikate tegemisel on veel \u00fcks suurep\u00e4rane lehek\u00fclg <a href=\"https:\/\/sourcemaking.com\/refactoring\/smells\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">koodil\u00f5hnade kohta<\/a>, mida soovitan v\u00f5imalusel lugeda.<\/p>\n<p>Ja viis, kuidas tingimuss\u00f5nad v\u00f5ivad koodil\u00f5hna tekitada, on lihtne: see v\u00f5ib teie koodi risustada tohutu hulga lausetega, mis sisaldavad palju <a href=\"https:\/\/php.net\/manual\/en\/function.class-exists.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">class_exists<\/a> kontrolle.<\/p>\n<p>Ja see on probleem.<\/p>\n<p>Iga kord, kui lisate oma koodile m\u00f5ne muu s\u00f5ltuvuse, lisate l\u00f5puks veel \u00fche tingimusliku kontrolli, et n\u00e4ha, kas klass on WordPressi rakenduses olemas.<\/p>\n<p>Usun, et on okei teha seda \u00fche s\u00f5ltuvusega \u2013 v\u00f5ib-olla isegi kahe s\u00f5ltuvusega \u2013 ja kui t\u00f6\u00f6tate oma arhitektuuris &quot;piisavalt k\u00f5rgel tasemel&quot;, kuid see ei ole see, kuidas seda \u00f5igesti k\u00e4sitleda paljude s\u00f5ltuvuste korral ega ka madalamal tasemel. teie pistikprogramm.<\/p>\n<p>Siin tulevad pildile WordPressi alamsuunad. N\u00e4ete \u00fclaltoodud Johni vahendusel s\u00e4utsus olevate alamtekstide loendit.<\/p>\n<p><a href=\"https:\/\/codex.bbpress.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">bbPress Codexis<\/a> on ka alamtoimingute ametlik m\u00e4\u00e4ratlus :<\/p>\n<blockquote>\n<p>Neid sisemisi toiminguid v\u00f5ib pidada alamtoiminguteks ja need v\u00f5imaldavad teil bbPressist s\u00f5ltuvate pistikprogrammide jaoks WordPressi toiminguid lisada v\u00f5i \u00fcmber j\u00e4rjestada.<\/p>\n<\/blockquote>\n<p>Ja selle n\u00e4idet n\u00e4ete <a href=\"https:\/\/bbpress.trac.wordpress.org\/browser\/trunk\/src\/includes\/core\/actions.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">selles failis<\/a>.<\/p>\n<p>Muidugi on see definitsioon bbPressi jaoks spetsiifiline, kuid see ei t\u00e4henda, et see ei kehtiks selle kohta, mida me WordPressis teeme.<\/p>\n<p>N\u00e4ide: kui olete kunagi kasutanud kohandatud toimingu m\u00e4\u00e4ratlemiseks <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/do_action\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">funktsiooni do_action<\/a> v\u00f5i kasutasite \u00e4ra kellegi teise, v\u00e4ljaspool WordPressi tuuma, pakutavat konksu, siis olete alamtoimingu rakendamise strateegiaga tuttav.<\/p>\n<p>Teisis\u00f5nu, WordPressi alaaktsioonid on lihtsalt toimingud, mille abil saame muuta j\u00e4rjekorda, milles meie pistikprogramm s\u00f5ltub teisest pistikprogrammist.<\/p>\n<p>Selle rakendamine v\u00f5ib teie t\u00f6\u00f6 kontekstis erineda, kuid k\u00f5ige populaarsem ja k\u00f5ige \u201e\u00f5igem&quot; WordPressi viis seda teha on v\u00e4idetavalt pistikprogrammi laadimise <a href=\"https:\/\/codex.wordpress.org\/Plugin_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">prioriteedi argumendi<\/a> \u00e4rakasutamine .<\/p>\n<p>See t\u00e4hendab, et seadke s\u00f5ltuvuse prioriteet ja veenduge, et see oleks varasem kui teie pistikprogrammi aktiveerimisel.<\/p>\n<p>Kasutada saab ka alternatiivseid meetodeid, n\u00e4iteks pistikprogrammi k\u00e4itumise muutmine, kui need on aktiveeritud v\u00f5i mitte, kuid see ei kuulu selle konkreetse postituse ulatusse ja see v\u00f5ib kasutajakogemust negatiivselt muuta (WordPressi puhul \u00fcldiselt, mitte v\u00e4hem).<\/p>\n<p>Sellest hoolimata on asi selles, et WordPressi alamfunktsioonide, objektorienteeritud programmeerimise ja kolmandate osapoolte s\u00f5ltuvuste haldamise puhul veenduge, et teie tehtud otsused ei kahjustaks teie koodi kujundust.<\/p>\n<p>Kui klassi olemasolu on m\u00f5ttekas kontrollida, on okei, aga kui on m\u00f5ttekam oodata, kuni klasside v\u00f5i pistikprogrammide komplekt on laaditud enne teie oma, siis on WordPressi alaaktsioonid t\u00f5en\u00e4oliselt m\u00f5ttekamad.<\/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>WordPressi alamfunktsioonide, OOP-i ja kolmandate osapoolte s\u00f5ltuvuste kasutamisel veenduge, et teie otsused ei kahjustaks teie koodi kujundust.<\/p>\n","protected":false},"author":1,"featured_media":221089,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,916,842,812,863],"tags":[1165,1165],"class_list":["post-228550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-muud","category-opetused","category-pistikprogrammid","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/228550","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=228550"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/228550\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/221089"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=228550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=228550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=228550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}