У меня есть плагин, который я не хочу активировать, если он не соответствует определенному номеру версии WP, а затем показать сообщение об ошибке в ловушке действия admin_notices. Насколько я исследовал, приведенный ниже код является лучшим, что я могу достичь этой цели:
$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 );
}
Но я думаю, что я все еще делаю это неправильно, потому что я получаю сообщение об активированном плагине в то же время с уведомлением об ошибке, которое я назначил.
Какими будут правильные действия / фильтр для правильной остановки процесса активации плагина, чтобы я получал только сообщение об ошибке?