includes(); add_action( 'plugins_loaded', array( $this, 'init' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'admin_styles' ) ); add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) ); add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 ); } private function includes() { require_once plugin_dir_path( __FILE__ ) . 'includes/class-ageonce-admin.php'; require_once plugin_dir_path( __FILE__ ) . 'includes/class-ageonce-api.php'; require_once plugin_dir_path( __FILE__ ) . 'includes/class-ageonce-checkout.php'; require_once plugin_dir_path( __FILE__ ) . 'includes/class-ageonce-registration.php'; require_once plugin_dir_path( __FILE__ ) . 'includes/class-ageonce-restrictions.php'; } public function init() { add_action( 'wp_logout', array( $this, 'clear_local_pass_on_logout' ) ); new AgeOnce_Admin(); new AgeOnce_API(); if ( class_exists( 'WooCommerce' ) ) { new AgeOnce_Checkout(); new AgeOnce_Registration(); } new AgeOnce_Restrictions(); } /** * Clear the local 24-hour pass on logout (cookie, session, user timestamp). * * @param int $user_id User who is logging out. */ public function clear_local_pass_on_logout( $user_id = 0 ) { AgeOnce_API::clear_local_pass_on_logout( $user_id ); } public function admin_styles( $hook ) { if ( $hook !== 'toplevel_page_ageonce-settings' ) { return; } $version = defined( 'AGEONCE_VERIFICATION_VERSION' ) ? AGEONCE_VERIFICATION_VERSION : '1.0.0'; wp_enqueue_style( 'ageonce-admin-css', plugin_dir_url( __FILE__ ) . 'assets/css/admin.css', array(), $version ); } /** * Add a Settings link next to Deactivate on the Plugins screen. * * @param array $links Existing plugin action links. * @return array */ public function plugin_action_links( $links ) { $settings_link = sprintf( '%s', esc_url( admin_url( 'admin.php?page=ageonce-settings' ) ), esc_html__( 'Settings', 'age-verification-with-ageonce' ) ); array_unshift( $links, $settings_link ); return $links; } /** * Add helpful links in the plugin row. * * @param array $links Existing plugin row links. * @param string $file Plugin file path relative to plugins dir. * @return array */ public function plugin_row_meta( $links, $file ) { if ( plugin_basename( __FILE__ ) !== $file ) { return $links; } $custom_links = array( '' . esc_html__( 'Docs', 'age-verification-with-ageonce' ) . '', '' . esc_html__( 'Support', 'age-verification-with-ageonce' ) . '', '' . esc_html__( 'Leave a Review', 'age-verification-with-ageonce' ) . '', ); return array_merge( $links, $custom_links ); } } new AgeOnce_Plugin();