Как удалить плагин Hello Dolly автоматически?

Я планирую создать плагин под названием Goodbye Dolly. После установки он позаботится о том, чтобы установка удаляла автоматическую установку Hello Dolly (WordPress Plugin), поставляемую с wordpress.

Это связано с популярным запросом. Некоторые люди просили об этом.

Мне нравится эта идея. Я так долго не заботился, потому что я удалил его вручную. Но мне нравится идея сохранить неприятности и автоматизировать это удаление в будущем.

Я хотел просто удалить файл, когда он существует в основном. Но я немного не уверен в абстракции файловой системы. И я хотел бы сделать это при установке / обновлении уже, так что это не нужно проверять все время.

Итак, какие крючки нужно учитывать? Любые идеи лучшей практики?

Обновить:

  • Домашняя страница: http://hakre.wordpress.com/plugins/goodbye-dolly/
  • Репозиторий: http://wordpress.org/extend/plugins/goodbye-dolly/

Solutions Collecting From Web of "Как удалить плагин Hello Dolly автоматически?"

Хотя я ценю идею, разве это не просто замена одного плагина на другой? Ссылка Rarst уже имеет ответ – нужно просто немного переработать, чтобы периодически проверять плагин, например:

function goodbye_dolly() { if (file_exists(WP_PLUGIN_DIR.'/hello.php')) { require_once(ABSPATH.'wp-admin/includes/plugin.php'); require_once(ABSPATH.'wp-admin/includes/file.php'); delete_plugins(array('hello.php')); } } add_action('admin_init','goodbye_dolly'); 

Положите это в свой файл functions.php (в дочерней теме, если вы еще не используете пользовательскую тему), и вам должно быть хорошо идти.

Теперь есть плагин « Нежелательные плагины» . Он будет удалять плагины Akismet и Hello Dolly при каждом обновлении. Вы можете отфильтровать список плагинов, чтобы он соответствовал только одному из этих плагинов, или добавить больше.

Из кода:

 $this->unwanted_plugins = apply_filters( 'unwanted_plugins_list', array( 'akismet/akismet.php', 'hello.php' ) ); 

Майк покрыл убийство Долли в одном из своих ответов , но это было написано для первоначального сценария установки.

Я попытался выполнить код, который обновляет ядро, чтобы найти подходящий крючок, но это довольно лабиринт с некоторыми классами повышения производительности, с которыми я еще не знаком.