Parfois, vous voulez vous assurer qu’une extension essentielle spécifique n’est jamais supprimée de votre site WordPress, ou au moins être notifié chaque fois que cela se produit.
Imaginez que vous avez une extension de taxes qui calcule la taxe dans votre système de boutique WooCommerce ou Easy Digital Downloads. Si cette extension est désactivée pour une raison quelconque, tous vos prix d’achat seront mal calculés et cela peut prendre un certain temps avant que vous ne vous en rendiez compte.
Il n’existe pas de protection à 100 % pour empêcher la désactivation d’une extension sur votre site WordPress, mais lorsque cela se produit, vous pouvez copier le code suivant dans une mu-extension comme plugin-logger.php et l’ajouter au dossier wp-content/mu-plugins.
<?php
/*
* Plugin Name: Log deleted plugins by WP Staging
* Plugin URI: https://wp-staging.com
* Description: Write a log file whenever a plugin is deleted or deactivated plugins.
*
* This is a must-use standalone plugin.
*
* Author: WP Staging
* Version: 1.0
* Author URI: https://wp-staging.com
*/
add_action('deactivated_plugin', function ($plugin_file) {
$datetime = date('d-m-Y H:i:s');
$message = "[{$datetime}] Deactivated plugin {$plugin_file}";
error_log(
"$messagen",
3,
WP_CONTENT_DIR . "/7263767234-deleted-plugins.log"
);
wp_mail('youremailaddress@example.com', 'Plugin deactivated on example.com', $message);
}, 20, 2);
add_action('deleted_plugin', function ($plugin_file, $deleted) {
if ($deleted) {
$datetime = date('d-m-Y H:i:s');
$message = "[{$datetime}] Deleted plugin {$plugin_file}";
error_log(
"[{$datetime}] Deleted plugin {$plugin_file}n",
3,
WP_CONTENT_DIR . "/7263767234-deleted-plugins.log"
);
wp_mail('youremailaddress@example.com', 'Plugin deleted on example.com', $message);
}
}, 20, 2);Dès qu’une des extensions installées est désactivée ou supprimée via les hooks WordPress deleted_plugin ou deactivated_plugin, vous recevrez une notification par e-mail. Le rapport sera également enregistré dans le fichier wp-content//7263767234-deleted-plugins.log.
Je recommande d’ajuster le chemin et le nom du fichier pour des raisons de sécurité.