includes(); add_action( 'plugins_loaded', array( $this, 'init_modules' ), 20 ); } private function includes() { $base = AISP_EP_PATH . 'includes/'; require_once $base . 'exclusive-products-helpers.php'; require_once $base . 'class-aisp-exclusive-products-ajax-user-search.php'; require_once $base . 'class-aisp-exclusive-products-product-metabox.php'; require_once $base . 'class-aisp-exclusive-products-access-control.php'; require_once $base . 'class-aisp-exclusive-products-query-filter.php'; require_once $base . 'class-aisp-exclusive-products-bulk-actions.php'; require_once $base . 'class-aisp-exclusive-products-category-users.php'; } public function init_modules() { if ( ! class_exists( 'WooCommerce' ) ) { add_action( 'admin_notices', array( $this, 'notice_woocommerce_missing' ) ); return; } AISP_Exclusive_Products_Ajax_User_Search::instance(); AISP_Exclusive_Products_Product_Metabox::instance(); AISP_Exclusive_Products_Access_Control::instance(); AISP_Exclusive_Products_Query_Filter::instance(); AISP_Exclusive_Products_Category_Users::instance(); AISP_Exclusive_Products_Bulk_Actions::init(); } /** * Admin notice when WooCommerce is not active. */ public function notice_woocommerce_missing() { echo '

' . esc_html__( 'User Exclusive Products requires WooCommerce to be installed and active.', 'aisp-user-exclusive-products' ) . '

'; } } AISP_Exclusive_Products_Plugin::instance();