J'ai un plugin que je ne veux pas activer s'il ne répond pas à un certain numéro de version WP, puis afficher un message d'erreur dans le crochet d'action admin_notices. Pour autant que j'ai fait des recherches, le code ci-dessous est le meilleur que je puisse atteindre cet objectif:
$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 );
}
Mais je pense que je fais toujours mal parce que je reçois le message activé par le plugin en même temps avec l'avis d'erreur que j'ai attribué.
Quel serait le crochet / filtre d'action approprié pour arrêter correctement le processus d'activation du plugin afin que je ne reçoive que le message d'erreur?