Wie man per E-Mail protokolliert und benachrichtigt wird, wenn ein WordPress-Plugin deaktiviert oder gelöscht wird?

Manchmal möchten Sie sicherstellen, dass ein bestimmtes essentielles Plugin auf Ihrer WordPress-Website niemals gelöscht wird, oder Sie möchten zumindest benachrichtigt werden, wann immer dies geschieht.

Stellen Sie sich vor, Sie haben ein Steuer-Plugin, das die Steuer in Ihrem WooCommerce- oder Easy Digital Downloads-Shop-System berechnet. Wenn dieses Plugin aus irgendeinem Grund deaktiviert wird, werden alle Ihre Einkaufspreise falsch berechnet und es kann eine Weile dauern, bis Sie das bemerken.

Es gibt keinen 100%igen Schutz, um zu verhindern, dass ein Plugin auf Ihrer WordPress-Website deaktiviert wird, aber wenn es passiert, können Sie den folgenden Code in ein mu-Plugin wie plugin-logger.php kopieren und es dem Ordner wp-content/mu-plugins hinzufügen.

PHP
<?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);

Sobald eines der installierten Plugins entweder durch die WordPress-Hooks deleted_plugin oder deactivated_plugin deaktiviert oder gelöscht wird, erhalten Sie eine E-Mail-Benachrichtigung. Der Bericht wird auch in der Datei wp-content//7263767234-deleted-plugins.log protokolliert.

Aus Sicherheitsgründen empfehle ich, den Pfad und den Dateinamen anzupassen.

Verwandte Artikel

Rene Hermenau

Autor: Rene Hermenau

Über den Autor: René Hermenau ist Gründer von WP STAGING. Er arbeitet an WordPress-Backups, Staging, Migrationen, Datenbankverarbeitung und sicheren Deployment-Workflows.