include_files(); $this->init_components(); } private function include_files() { require_once ENSPIREPLUGINS_ACFW_PLUGIN_DIR . 'includes/class-admin.php'; require_once ENSPIREPLUGINS_ACFW_PLUGIN_DIR . 'includes/class-fields.php'; require_once ENSPIREPLUGINS_ACFW_PLUGIN_DIR . 'includes/class-display.php'; require_once ENSPIREPLUGINS_ACFW_PLUGIN_DIR . 'includes/class-display-block.php'; require_once ENSPIREPLUGINS_ACFW_PLUGIN_DIR . 'includes/class-validation.php'; require_once ENSPIREPLUGINS_ACFW_PLUGIN_DIR . 'includes/class-assets.php'; require_once ENSPIREPLUGINS_ACFW_PLUGIN_DIR . 'includes/class-display-admin.php'; require_once ENSPIREPLUGINS_ACFW_PLUGIN_DIR . 'includes/class-emails.php'; } private function init_components() { new EnspirePlugins_ACFW_Fields(); new EnspirePlugins_ACFW_Admin(); new EnspirePlugins_ACFW_Display(); new EnspirePlugins_ACFW_Validation(); new EnspirePlugins_ACFW_Assets(); new EnspirePlugins_ACFW_Email_Display(); new EnspirePlugins_ACFW_Checkout_Block(); if (is_admin()) { new EnspirePlugins_ACFW_Admin_Display(); } } public static function get_instance() { if (null === self::$instance) { self::$instance = new self(); } return self::$instance; } public function check_woocommerce() { if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) { $this->init(); } else { add_action('admin_notices', array($this, 'woocommerce_missing_notice')); } } public function woocommerce_missing_notice() { ?>