WP Manifestindependent plugin directory
manifest / developer / ea-widget-scanner

EA Widget Scanner (CLI)

This plugin scans your site to find all the instances of Essential Addons widgets

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/noleemits/ea-widget-scanner/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Scans all public posts, pages, and custom post types for Essential Addons for Elementor widgets. It logs usage into a CSV file using WP-CLI.

🔧 Installation

  1. Upload this plugin to your wp-content/plugins/ directory.
  2. Activate it via the WordPress Admin Dashboard.
  3. Make sure WP-CLI is installed and running properly.

⚙️ Usage

📊 Scan for EA Widgets

wp ea scan-ea-widgets

Scans all posts and outputs a CSV file at:

wp-content/uploads/eael-widget-usage.csv

🧹 Delete the CSV File

wp ea delete-csv

Removes the CSV file if it exists.

🖥️ Admin UI

You can view usage instructions and plugin status by going to: WP Admin → Tools → EA Widget Scanner CLI

🧪 Frontend Debugging Tools

🔲 Highlight EA Widgets in the Browser

Paste this in your browser DevTools Console or as a CSS Snippet (e.g. in DevTools or Customizer):

[class^="eael"] {
  border: 2px solid red !important;
}

[class*="eael"] {
  border: 2px solid red !important;
}

🔍 Log Widget Usage to Console

Paste this into your browser's DevTools Console to list all EA widgets present:

(() => {
  const selectors = [
    '[class*="eael-"]',
    '[data-widget_type^="eael-"]'
  ];

  const widgets = new Map();

  selectors.forEach(selector => {
    document.querySelectorAll(selector).forEach(el => {
      const classes = Array.from(el.classList).filter(cls => cls.startsWith('eael-'));
      classes.forEach(cls => {
        const existing = widgets.get(cls) || [];
        existing.push(el);
        widgets.set(cls, existing);
      });
    });
  });

  if (widgets.size === 0) {
    console.log('No Essential Addons widgets detected on this page.');
  } else {
    console.log('📦 Essential Addons widgets found on this page:\n');
    widgets.forEach((els, cls) => {
      console.log(`- ${cls} (${els.length} time${els.length > 1 ? 's' : ''})`);
    });
  }
})();

📁 Output Format

Post ID Title Post Type URL EA Widgets

🛡️ Security

  • Includes index.php files to block directory access
  • Does not expose or modify content; read-only scanning

Created with ❤️ by Stephen Lee Hernandez