agy_load_plugin_textdomain(); add_filter( 'plugin_action_links', array( $this, 'agy_settings_link' ), 10, 2 ); add_filter( 'plugin_row_meta', array( $this, 'agy_set_plugin_meta' ), 10, 2 ); } else { include AGY_PLUGIN_PATH . '/public/Agy_Public.php'; } } public function agy_minimal_requirements(): void { global $wp_version; if ( version_compare( PHP_VERSION, AGY_MINIMAL_PHP_VERSION, '<' ) ) { deactivate_plugins( AGY_PLUGIN_BASENAME ); wp_die( sprintf( __( 'Plugin requires at least PHP version %s. You are running version %s. Please upgrade and try again.', AGY_TEXT_DOMAIN ), AGY_MINIMAL_PHP_VERSION, PHP_VERSION ) ); } if ( version_compare( $wp_version, AGY_MINIMAL_WP_VERSION, "<" ) ) { deactivate_plugins( AGY_PLUGIN_BASENAME ); wp_die( sprintf( __( 'Plugin requires at least WordPress version %s. You are running version %s. Please upgrade and try again.', AGY_TEXT_DOMAIN ), AGY_MINIMAL_WP_VERSION, $wp_version ) ); } } public function agy_load_plugin_textdomain() { load_plugin_textdomain( AGY_TEXT_DOMAIN, false, AGY_PLUGIN_BASENAME . dirname( __FILE__ ) . '/languages' ); } // Settings link for the plugin public function agy_settings_link( $links, $file ): array { $plugin = plugin_basename( __FILE__ ); if ( $file == $plugin && current_user_can( 'manage_options' ) ) { array_unshift( $links, sprintf( '' . __( 'Settings', AGY_TEXT_DOMAIN ), 'tools.php?page=agy-dashboard' ) . '' ); } return $links; } // Settings link for the plugin public function agy_set_plugin_meta( $links, $file ): array { $plugin = plugin_basename( __FILE__ ); if ( $file == $plugin && current_user_can( 'manage_options' ) ) { $links[] = sprintf( '' . __( 'Docs & FAQs', AGY_TEXT_DOMAIN ) . '', 'https://wordpress.org/support/plugin/agy-verification' ); $links[] = sprintf( '' . __( 'GitHub', AGY_TEXT_DOMAIN ) . '', 'https://github.com/mradulovic988/agy-verification' ); } return $links; } public static function agy_instance(): self { if ( null === self::$instance ) { self::$instance = new self(); } return self::$instance; } } Agy::agy_instance(); }