A volte, vuoi assicurarti che uno specifico plugin essenziale non venga mai eliminato dal tuo sito WordPress, o almeno vuoi essere notificato ogni volta che ciò accade.
Immagina di avere un plugin per le tasse che calcola le imposte nel tuo sistema di negozio WooCommerce o Easy Digital Downloads. Se questo plugin viene disabilitato per qualche motivo, tutti i tuoi prezzi di acquisto saranno calcolati in modo errato e potrebbe volerci un po’ di tempo prima che tu te ne accorga.
Non esiste una protezione al 100% per impedire che un plugin venga disabilitato sul tuo sito WordPress, ma quando accade, puoi copiare il seguente codice in un mu-plugin come plugin-logger.php e aggiungerlo alla cartella 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);Una volta che uno qualsiasi dei plugin installati viene disabilitato o eliminato tramite gli hook di WordPress deleted_plugin o deactivated_plugin, riceverai una notifica via e-mail. Il report verrà anche registrato nel file wp-content//7263767234-deleted-plugins.log.
Consiglio di modificare il percorso e il nome del file per motivi di sicurezza.