{"id":228515,"date":"2022-10-21T12:59:00","date_gmt":"2022-10-21T09:59:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228515"},"modified":"2022-11-09T02:48:30","modified_gmt":"2022-11-08T23:48:30","slug":"woocommercei-laienduse-aktiveerimise-juhtimine","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/woocommercei-laienduse-aktiveerimise-juhtimine\/","title":{"rendered":"WooCommerce&#8217;i laienduse aktiveerimise juhtimine"},"content":{"rendered":"\n<p>WooCommerce&#8217;i laienduse loomisel on oluline arvestada, et kui laiendus on aktiveeritud, ei pruugi kasutajal olla WooCommerce installitud ega aktiivne.<\/p>\n<p>Ja kuigi laiendus v\u00f5ib aktiveeruda, ei tee see midagi. See v\u00f5ib l\u00f5ppkokkuv\u00f5ttes tekitada kasutajas segadust.<\/p>\n<p>Sellistel juhtudel on minu arvates oluline veenduda, et laienduse saab aktiveerida ainult siis, kui p\u00f5hiplugin on installitud ja aktiivne.<\/p>\n<h2>WooCommerce&#8217;i laienduse aktiveerimine<\/h2>\n<p>Kuigi m\u00f5ned WooCommerce&#8217;i laiendused on teistega sarnased, v\u00f5ib nende rakendamine erineda. See t\u00e4hendab, et \u00fche laiendi kirjutamise viis v\u00f5ib kasutada teises t\u00e4iesti erinevat paradigmat.<\/p>\n<p>Igal juhul, kui otsustate midagi sellist teha, kaaluge j\u00e4rgmist.<\/p>\n<ol>\n<li>M\u00e4\u00e4ratlege klass, mis algab pistikprogrammi k\u00e4ivitamisel,<\/li>\n<li>Kontrollige, kas WooCommerce on aktiivne,<\/li>\n<li>Kui jah, siis laadige k\u00f5ik muud s\u00f5ltuvused,<\/li>\n<li>Kui ei, siis deaktiveerige pistikprogramm automaatselt.<\/li>\n<\/ol>\n<p>See tundub palju t\u00f6\u00f6d, kuid see pole nii palju koodi. Samuti v\u00f5ite kaaluda kohandatud pistikprogrammi teatise lisamist, kui aktiveerimine on keelatud, kuid ma kirjeldan, kuidas seda teha tulevases postituses.<\/p>\n<h3>1 M\u00e4\u00e4ratlege klass<\/h3>\n<p>\u00dcldiselt arvan, et pistikprogrammi k\u00e4ivitamise ja peatamise funktsiooni olemasolu on hea m\u00f5te. Kui WooCommerce on aktiivne, saate k\u00e4ivitada kogu laienduse; vastasel juhul peame selle aktiveerimise peatama.<\/p>\n<p>Selleks saame <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1096d100351054b84ec778a516dde2f6#file-00-extension-for-woocommerce-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">iga funktsiooni<\/a> jaoks haakida konksu admin_init .<\/p>\n<pre><code>&lt;?php\n\nclass Extension_For_WooCommerce {\n\n    public function init() {\n\n        add_action( 'admin_init', array( $this, 'start') );\n        add_action( 'admin_init', array( $this, 'stop') );\n    }\n}\n<\/code><\/pre>\n<p>Kui pistikprogramm k\u00e4ivitatakse WordPressi administraatorilt, tuleb peamise pistikprogrammi sisestusfunktsioonist programmiliselt v\u00e4lja kutsuda init-funktsioon.<\/p>\n<h3>2 Kontrollige, kas WooCommerce on aktiivne<\/h3>\n<p>Enne kummagi funktsiooni rakendamist peame siiski kontrollima, kas WooCommerce&#8217;i pistikprogramm on aktiivne. Tavaliselt on ohutu eeldada, et WooCommerce asub fikseeritud kataloogis, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1096d100351054b84ec778a516dde2f6#file-01-is-woocommerce-active-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">mida see kood teeb<\/a> :<\/p>\n<pre><code>&lt;?php\n\nprivate function woocommerce_is_active() {\n    return is_plugin_active( 'woocommerce\/woocommerce.php' );\n}<\/code><\/pre>\n<p>Kui aga WooCommerce asub mujal, peate v\u00f5ib-olla selle leidmiseni m\u00f5ne muu kontrollimise tegema.<\/p>\n<h3>3 Laadige s\u00f5ltuvused<\/h3>\n<p>K\u00e4ivitusfunktsioonis, kui WooCommerce on aktiivne, saame <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1096d100351054b84ec778a516dde2f6#file-03-load-dependencies-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">laadida pistikprogrammi \u00fclej\u00e4\u00e4nud komponendid<\/a> :<\/p>\n<pre><code>&lt;?php\n\npublic function start() {\n\n    if (! $this-&gt;woocommerce_is_active()) {\n        return;\n    }\n\n    \/\/ Load dependencies.\n}<\/code><\/pre>\n<p>Kuid WooCommerce ei pruugi olla aktiivne.<\/p>\n<h3>4 V\u00f5i peatage aktiveerimine<\/h3>\n<p>Ja kui WooCommerce pole aktiivne, peame selle pistikprogrammi <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1096d100351054b84ec778a516dde2f6#file-04-stop-activation-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">aktiveerimise peatama :<\/a><\/p>\n<pre><code>&lt;?php\n\npublic function stop() {\n\n    if (! $this-&gt;woocommerce_is_active()) {\n\n        deactivate_plugins( plugin_basename( __FILE__) );\n        unset( $_GET['activate'] ); \/\/ Input var okay.\n    }\n}<\/code><\/pre>\n<p>Pange t\u00e4hele, et isegi kui teete selle koodi pistikprogrammi hulgiaktiveerimise, ei pruugi see kood t\u00f6\u00f6tada. Siin on p\u00f5hjus:<\/p>\n<ol>\n<li>WordPress t\u00f6\u00f6tab l\u00e4bi pistikprogrammide loendi, mida ta peab aktiveerima.<\/li>\n<li>Kui WooCommerce pole enne laiendust aktiveeritud, siis laienduse aktiveerimine eba\u00f5nnestub.<\/li>\n<\/ol>\n<p>Teine v\u00f5imalus sellele l\u00e4henemiseks oleks aktiveerida WooCommerce, kui see pole veel aktiivne.<\/p>\n<h2>Kohandatud s\u00f5numid<\/h2>\n<p>Nagu varem mainitud, on minu arvates hea m\u00f5te anda pistikprogrammi aktiveerimisest keeldumisel teatud t\u00fc\u00fcpi haldusteade, kuid see ei kuulu selle \u00f5petuse raamesse.<\/p>\n<p>Igal juhul pakub \u00fclaltoodud kood \u00fchte v\u00f5imalust WooCommerce&#8217;i laienduse potentsiaalseks aktiveerimiseks.<\/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>WooCommerce&#8217;i laienduse loomisel on oluline arvestada sellega, et kasutajal ei pruugi olla WooCommerce aktiivne ja reageerida asjakohaselt.<\/p>\n","protected":false},"author":1,"featured_media":223696,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,916,842,812,863],"tags":[1165],"class_list":["post-228515","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","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\/228515","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=228515"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/228515\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/223696"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=228515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=228515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=228515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}