includes(); POKIT_Install::maybe_upgrade(); POKIT_Orders::init(); POKIT_Product_Admin::init(); POKIT_Frontend::init(); POKIT_Cart::init(); POKIT_Release::init(); POKIT_Account::init(); POKIT_Emails::init(); POKIT_Shortcodes::init(); POKIT_Blocks::init(); if ( is_admin() ) { POKIT_Settings::init(); POKIT_Admin::init(); } add_action( 'init', array( $this, 'maybe_flush_rewrite' ), 99 ); add_filter( 'plugin_action_links_' . plugin_basename( POKIT_FILE ), array( $this, 'action_links' ) ); } /** * Load files. */ private function includes() { $inc = POKIT_PATH . 'includes/'; require_once $inc . 'class-pokit-install.php'; require_once $inc . 'functions.php'; require_once $inc . 'class-pokit-records.php'; require_once $inc . 'class-pokit-orders.php'; require_once $inc . 'class-pokit-product-admin.php'; require_once $inc . 'class-pokit-frontend.php'; require_once $inc . 'class-pokit-cart.php'; require_once $inc . 'class-pokit-release.php'; require_once $inc . 'class-pokit-account.php'; require_once $inc . 'class-pokit-emails.php'; require_once $inc . 'class-pokit-shortcodes.php'; require_once $inc . 'class-pokit-blocks.php'; require_once $inc . 'admin/class-pokit-settings.php'; require_once $inc . 'admin/class-pokit-admin.php'; } /** * Flush rewrite rules once after activation so /my-account/pre-orders/ works. */ public function maybe_flush_rewrite() { if ( 'yes' === get_option( 'pokit_flush_rewrite' ) ) { delete_option( 'pokit_flush_rewrite' ); flush_rewrite_rules(); } } /** * Plugin list links. * * @param array $links Links. * @return array */ public function action_links( $links ) { $extra = array( '' . esc_html__( 'Settings', 'shipclock-pre-orders' ) . '', '' . esc_html__( 'Pre-orders', 'shipclock-pre-orders' ) . '', ); if ( ! POKIT_License::is_pro() ) { $extra[] = '' . esc_html__( 'Go Pro', 'shipclock-pre-orders' ) . ''; } return array_merge( $extra, $links ); } }