Czasami chcesz mieć pewność, że konkretna niezbędna wtyczka nigdy nie zostanie usunięta z Twojej strony WordPress, lub przynajmniej chcesz być powiadamiany za każdym razem, gdy to nastąpi.
Wyobraź sobie, że masz wtyczkę podatkową, która oblicza podatek w Twoim systemie sklepowym WooCommerce lub Easy Digital Downloads. Jeśli ta wtyczka zostanie z jakiegoś powodu wyłączona, wszystkie Twoje ceny zakupu zostaną źle obliczone i może minąć trochę czasu, zanim to zauważysz.
Nie ma 100% ochrony zapobiegającej wyłączeniu wtyczki na Twojej stronie WordPress, ale gdy to się stanie, możesz skopiować poniższy kod do mu-wtyczki takiej jak plugin-logger.php i dodać ją do folderu 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);Gdy którakolwiek z zainstalowanych wtyczek zostanie wyłączona lub usunięta przez hooki WordPress deleted_plugin lub deactivated_plugin, otrzymasz powiadomienie e-mail. Raport zostanie również zapisany w pliku wp-content//7263767234-deleted-plugins.log.
Ze względów bezpieczeństwa zalecam dostosowanie ścieżki i nazwy pliku.