✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

WooCommerce’i laienduse aktiveerimise juhtimine

15

WooCommerce’i laienduse loomisel on oluline arvestada, et kui laiendus on aktiveeritud, ei pruugi kasutajal olla WooCommerce installitud ega aktiivne.

Ja kuigi laiendus võib aktiveeruda, ei tee see midagi. See võib lõppkokkuvõttes tekitada kasutajas segadust.

Sellistel juhtudel on minu arvates oluline veenduda, et laienduse saab aktiveerida ainult siis, kui põhiplugin on installitud ja aktiivne.

WooCommerce’i laienduse aktiveerimine

Kuigi mõned WooCommerce’i laiendused on teistega sarnased, võib nende rakendamine erineda. See tähendab, et ühe laiendi kirjutamise viis võib kasutada teises täiesti erinevat paradigmat.

Igal juhul, kui otsustate midagi sellist teha, kaaluge järgmist.

  1. Määratlege klass, mis algab pistikprogrammi käivitamisel,
  2. Kontrollige, kas WooCommerce on aktiivne,
  3. Kui jah, siis laadige kõik muud sõltuvused,
  4. Kui ei, siis deaktiveerige pistikprogramm automaatselt.

See tundub palju tööd, kuid see pole nii palju koodi. Samuti võite kaaluda kohandatud pistikprogrammi teatise lisamist, kui aktiveerimine on keelatud, kuid ma kirjeldan, kuidas seda teha tulevases postituses.

1 Määratlege klass

Üldiselt arvan, et pistikprogrammi käivitamise ja peatamise funktsiooni olemasolu on hea mõte. Kui WooCommerce on aktiivne, saate käivitada kogu laienduse; vastasel juhul peame selle aktiveerimise peatama.

Selleks saame iga funktsiooni jaoks haakida konksu admin_init .

<?php

class Extension_For_WooCommerce {

    public function init() {

        add_action( 'admin_init', array( $this, 'start') );
        add_action( 'admin_init', array( $this, 'stop') );
    }
}

Kui pistikprogramm käivitatakse WordPressi administraatorilt, tuleb peamise pistikprogrammi sisestusfunktsioonist programmiliselt välja kutsuda init-funktsioon.

2 Kontrollige, kas WooCommerce on aktiivne

Enne kummagi funktsiooni rakendamist peame siiski kontrollima, kas WooCommerce’i pistikprogramm on aktiivne. Tavaliselt on ohutu eeldada, et WooCommerce asub fikseeritud kataloogis, mida see kood teeb :

<?php

private function woocommerce_is_active() {
    return is_plugin_active( 'woocommerce/woocommerce.php' );
}

Kui aga WooCommerce asub mujal, peate võib-olla selle leidmiseni mõne muu kontrollimise tegema.

3 Laadige sõltuvused

Käivitusfunktsioonis, kui WooCommerce on aktiivne, saame laadida pistikprogrammi ülejäänud komponendid :

<?php

public function start() {

    if (! $this->woocommerce_is_active()) {
        return;
    }

    // Load dependencies.
}

Kuid WooCommerce ei pruugi olla aktiivne.

4 Või peatage aktiveerimine

Ja kui WooCommerce pole aktiivne, peame selle pistikprogrammi aktiveerimise peatama :

<?php

public function stop() {

    if (! $this->woocommerce_is_active()) {

        deactivate_plugins( plugin_basename( __FILE__) );
        unset( $_GET['activate'] ); // Input var okay.
    }
}

Pange tähele, et isegi kui teete selle koodi pistikprogrammi hulgiaktiveerimise, ei pruugi see kood töötada. Siin on põhjus:

  1. WordPress töötab läbi pistikprogrammide loendi, mida ta peab aktiveerima.
  2. Kui WooCommerce pole enne laiendust aktiveeritud, siis laienduse aktiveerimine ebaõnnestub.

Teine võimalus sellele lähenemiseks oleks aktiveerida WooCommerce, kui see pole veel aktiivne.

Kohandatud sõnumid

Nagu varem mainitud, on minu arvates hea mõte anda pistikprogrammi aktiveerimisest keeldumisel teatud tüüpi haldusteade, kuid see ei kuulu selle õpetuse raamesse.

Igal juhul pakub ülaltoodud kood ühte võimalust WooCommerce’i laienduse potentsiaalseks aktiveerimiseks.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem