Tengo un complemento que no deseo que se active si no cumple con un cierto número de versión de WP, luego se muestra un mensaje de error en el enlace de acción admin_notices. Hasta donde he investigado, el siguiente código es el mejor que puedo lograr este objetivo:
$wp_version = get_bloginfo('version');
if ( $wp_version < 4.5 ) {
add_action( 'admin_init', 'deactivate_plugin_now' );
add_action( 'admin_notices', 'errormsg' ) );
}
public function deactivate_plugin_now() {
if ( is_plugin_active('myplugin/myplugin.php') ) {
deactivate_plugins('myplugin/myplugin.php');
}
}
public function errormsg () {
$class = 'notice notice-error';
$message = __( 'Error you did not meet the WP minimum version', 'text-domain' );
printf( '<div class="%1$s"><p>%2$s</p></div>', $class, $message );
}
Pero creo que todavía lo estoy haciendo mal porque recibo el mensaje de activación del complemento al mismo tiempo con el aviso de error que asigné.
¿Cuál sería la acción correcta de enganchar / filtrar para detener correctamente el proceso de activación del complemento para que solo reciba el mensaje de error?