クラス
Master
ソース ソース
ファイル: src/Master.php
class Master { const PLUGIN_NAMESPACE = 'wcexics'; const REACT_DOM_NODE = self::PLUGIN_NAMESPACE . '_react_app'; const SNACKBAR_DOM_NODE = self::PLUGIN_NAMESPACE . '_react_snackbar'; /** * REST routes object * * @var Routes */ public $routes; /** * Initializes plugin * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return void */ public function init() { Components\Snackbar\Snackbar::init(); Pages\ItemPage\ItemPage::init(); Pages\CartPages::init(); Pages\MemberPage\MemberPage::init(); API\PurchaseSanityChecks::init(); (new API\Cart())->init(); API\Checkout::init(); API\FileDownloads::init(); Wishlist::init(); Routes::declareWelcartRoutes(); if (is_admin()) { (new Admin\ItemListCSV())->init(); Admin\OrderListCSV::init(); Admin\OrderEdit::init(); Admin\ItemEdit::init(); Admin\Pages\SettingsPage::init(); Admin\Pages\OrderEditPage::init(); } add_action('init', function () { $this->routes = new Routes(); $this->routes->dispatcher->listen(); if (!is_admin()) { return; } (new Admin\Pages\Item\Item($this))->init(); }, 11); $id = 'AICS001'; $cptmc = new CptmClient( $id, WCEXICS_VERSION, WCEXICS_PLUGIN_FILE, "https://api.aivec.co.jp/cptmp/v1/getProvidersList/{$id}" ); $cptmc->init(); } /** * Returns the error store * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return ErrorStore */ public static function getErrorStore() { $estore = new ErrorStore(); $estore->populate(); return $estore; } /** * Runs on plugin activation hook * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return void */ public function activate() { Schema::addTables(); // migrations Schema::v101(); Schema::v110(); } /** * Returns variables to be injected into JS scripts * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return array */ public function getScriptInjectionVariables() { return array_merge( $this->routes->getScriptInjectionVariables(), self::getErrorStore()->getScriptInjectionVariables(), [ 'pluginNamespace' => self::PLUGIN_NAMESPACE, 'snackbarDomNode' => self::SNACKBAR_DOM_NODE, 'reactDomNode' => self::REACT_DOM_NODE, ] ); } }
- activate — Runs on plugin activation hook
- getErrorStore — Returns the error store
- getScriptInjectionVariables — Returns variables to be injected into JS scripts
- init — Initializes plugin