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