Это немного недокументировано, как вы могли заметить.Вместо die()
сделайте это следующим образом:
$plugin = dirname(__FILE__) . '/functions.php';
deactivate_plugins($plugin);
wp_die('<p>The <strong>X</strong> plugin requires version WordPress 2.8 or greater.</p>','Plugin Activation Error',array('response'=>200,'back_link'=>TRUE));
Строки над wp_die () должны деактивировать этот плагин.Обратите внимание, что в этом случае мы используем functions.php, потому что там у меня есть объявление комментария к метаданным имени плагина - и если вы используете другой файл, измените код выше.Обратите внимание, что путь очень специфичен для совпадения.Итак, если вы хотите увидеть, каким обычно будет ваш путь, используйте print_r(get_option('active_plugins'));die();
, чтобы вывести его, чтобы вы знали, какой путь вам нужен.Поскольку у меня был plugin_code.php, где находился остальной код моего плагина, и поскольку он находился в том же каталоге, что и functions.php, мне просто нужно было сделать dirname(__FILE__)
для правильного пути.
Обратите внимание, чтоконец оператора wp_die () важен, поскольку он обеспечивает обратную ссылку и предотвращает ошибку 500 (которая является кодом Apache по умолчанию для wp_die ()).