Home / Admin / Alert Admin When a Plugin Is Activated
Duplicate Snippet

Embed Snippet on Your Site

Alert Admin When a Plugin Is Activated

Receive an email notification whenever a plugin is activated in WordPress. Useful for security monitoring, multi-admin websites, and client projects where you want visibility into plugin changes.

Installation:
Add this snippet as a PHP Snippet in WPCode and set it to Auto Insert → Run Everywhere.

Code Preview
php
<?php
<?php
/**
 * Snippet: Alert Admin When a Plugin Is Activated
 * Description: Sends an email notification whenever a plugin is activated.
 *
 * Curated by: Avijit Datta
 * Agency: CypraWeb Digital
 * Website: https://cyprawebdigital.com
 *
 * Version: 1.0
 */
add_action('activated_plugin', 'cwd_notify_plugin_activation', 10, 2);
function cwd_notify_plugin_activation($plugin, $network_wide) {
    $current_user = wp_get_current_user();
    $plugin_data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin, false, false);
    $plugin_name = !empty($plugin_data['Name'])
        ? $plugin_data['Name']
        : $plugin;
    $site_name = get_bloginfo('name');
    $subject = sprintf(
        '[%s] Plugin Activated',
        $site_name
    );
    $message = "A plugin has been activated.\n\n";
    $message .= "Site: " . home_url() . "\n";
    $message .= "Plugin: " . $plugin_name . "\n";
    $message .= "File: " . $plugin . "\n";
    $message .= "Activated By: " . $current_user->user_login . "\n";
    $message .= "User Email: " . $current_user->user_email . "\n";
    $message .= "Date: " . current_time('mysql') . "\n";
    wp_mail(
        get_option('admin_email'),
        $subject,
        $message
    );
}

Comments

Add a Comment