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();