If you spend any real time in Elementor, you’ve eventually hit the same wall I have: the built-in widgets are fine, but they’re not enough. You need a logo carousel that loops smoothly. You need an interactive pricing table with monthly/yearly toggle. You need conditional display so the testimonial section only shows to logged-out visitors. None of that ships with Elementor by default, free or Pro. So you start collecting addon packs. We have a separate walkthrough of Element Pack Pro if you want to compare the widest pack (200+ widgets) in this space.
Essential Addons is the one I keep coming back to. The free version on the WordPress.org repo has 70+ widgets and lives on millions of sites. The Pro version layers another 60+ widgets and a handful of platform-level extensions on top: conditional display, content protection, dynamic tag providers, WooCommerce templates. Combined, it turns Elementor from "a decent page builder" into something close to a full design system for non-developers.
Together they give you the full element library on a real Elementor install in about five minutes.
Table of Contents
- What Essential Addons actually is
- Key features
- The widget library, walked through
- Installation and setup
- Extensions, not just widgets
- WooCommerce widgets
- Real-world use cases
- Developer reference
- Performance, conflicts, and gotchas
- Pricing and licensing
- FAQ
- Final thoughts
What Essential Addons actually is
Essential Addons for Elementor is a widget pack built by WPDeveloper, the same team behind BetterDocs, NotificationX, SchedulePress, and a handful of other WordPress products. It comes in two parts:
- Essential Addons for Elementor (Free) lives on wordpress.org and ships ~70 widgets plus a handful of extensions. Active install count is something like one million.
- Essential Addons for Elementor – Pro is the paid layer that adds another 60+ widgets and a few platform-level features like content protection, conditional display, advanced dynamic tags, and a complete WooCommerce template kit. You need the free plugin installed and active for Pro to work; Pro extends it rather than replacing it.
You install both. The free plugin gives you the base widget library; Pro slots in additional widgets and toggles new tabs in the EA settings page. From inside Elementor, every EA widget shows up in the element panel with a small "EA" badge so you can tell which ones are EA and which are core Elementor. Easy to spot, easy to filter.
The whole thing is a regular WordPress plugin, not a theme. It works with any Elementor-compatible theme: Hello Elementor (Elementor’s own), Astra, GeneratePress, Kadence, OceanWP, your own custom theme. There’s no theme tie-in.
Key features
I’m going to skip the long marketing list because every addon pack has one. Here’s what’s actually useful three months into a project.
- 130+ widgets total (70 free, 60+ Pro) across content, post, media, marketing, social, form, and WooCommerce categories. Each widget is independently togglable so you don’t load CSS/JS for anything you don’t use.
- Per-widget enable/disable. Disable a widget you’ll never use and EA stops registering it, stops enqueueing its assets, stops adding it to the Elementor panel. Performance optimization that doesn’t require a separate "optimization" plugin.
- Conditional Display extension. Per-element visibility rules driven by user role, login state, post meta, taxonomy, date/time, custom field value, or device. The single feature that’s saved me the most theme overrides.
- Content Protection extension. Gate sections or whole pages behind a password, a user role, a membership level, or a date range. Useful for course materials, member-only content, gated downloads.
- Advanced Dynamic Tags. Adds dynamic tag providers for posts, custom post types, taxonomies, ACF Relationship fields, and WooCommerce product fields. Combined with Elementor’s built-in dynamic tags, you can pull almost anything from the database into a widget without writing PHP.
- WooCommerce widget pack. A complete kit of WooCommerce templates: Account Dashboard, Checkout, Cart, Product Slider, Product Carousel, Cross-Sells, Thank You page. Each one is a real Elementor widget you can lay out visually, not a shortcode dropped onto a page.
- Custom Cursor extension. Replace the default browser cursor sitewide or per element. Mostly stylistic, but the per-element scoping is genuinely useful for portfolio sites.
- Particles, Parallax, Tooltip, Smooth Animation as section-level extensions you toggle on individual sections from the Advanced tab. They appear as extra options inside Elementor’s existing controls, not as separate widgets.
- Free + Pro split. Free covers the bread-and-butter widgets (accordion, testimonial, image hover, pricing table, post grid, login/register, lightbox). Pro adds the heavier, more interactive ones (advanced data table, interactive cards, dynamic filterable gallery, figma to elementor, woo dashboard, login register with social, advanced search). If you can’t decide whether to upgrade, install the free version, build a page, then look at what you couldn’t do.
The widget library, walked through
Reading a list of 130 widget names is boring, so I’ll group them by what they’re actually for. These are the ones I reach for repeatedly.
Content widgets. Advanced Accordion (nested accordions, FAQ schema, custom open/close icons), Advanced Tabs (vertical, horizontal, accordion-on-mobile), Toggle, Tooltip Section (any section becomes hover-able), Sticky Video (a video that floats on scroll), Reading Progress Bar, Table of Contents (auto-generated from headings), Fancy Text (typed-out animated text), Animated Heading.
Post widgets. Post Block (card grid), Post Carousel (sliding grid), Post List (compact rows), Smart Post List (the workhorse: AJAX-paginated, filterable, with featured-image, excerpt, meta, read-more), Post Grid (free version). All accept full query control: post type, category, tag, taxonomy, custom orderby, meta query.
Media widgets. Filterable Gallery (Isotope-style category filters), Dynamic Filterable Gallery (the same but query-driven so categories are dynamic), Image Comparison (slider with before/after), Image Hot Spots (clickable points on a background image), Image Scroller (the long-format scrolling story pattern), Image Masking (clip an image to a shape), Logo Carousel, Lightbox (modal popup).
Marketing widgets. Pricing Table, Multicolumn Pricing Table, Pricing Slider (monthly/yearly toggle), Price Menu (restaurant-style menus), Counter, Progress Bar, Fancy Chart, Interactive Cards (flip on hover, scale on hover, etc.), Interactive Promo (image with overlay text, click to expand), Info Box, Flip Box.
Social and feeds. Instagram Gallery, Instagram Feed, Twitter Feed Carousel, Facebook Page (the actual FB page embed widget), Mailchimp signup form, Login | Register (with social login: Google, Facebook).
Form and utility. Better Payment (Stripe checkout widget), Advanced Search (live search with widget areas), One Page Navigation (auto-generated dots/menu for single-page sites), Breadcrumbs, Custom Cursor (as a section-level effect, not a widget), Offcanvas (a panel that slides in from a side), Static Product (display a WooCommerce product anywhere outside of WC pages).
LearnDash, BetterDocs, EmbedPress integrations. EA ships dedicated widgets for the WPDeveloper plugin family. LD Course List, BetterDocs Category Box/Grid/Search, EmbedPress (paste any URL, gets embedded). Useful if you’re already on those plugins, ignorable if you’re not.
That’s 50+ widget names just from the "ones I use" pile. The full catalog is bigger; you’ll discover the ones that fit your work pattern.
Installation and setup
The setup is unusually painless for a multi-plugin product, but it does require a specific order.
- Install Elementor first. You need the Elementor plugin (free version is enough for most EA features; some require Elementor Pro) active before EA.
- Install Essential Addons for Elementor (Free) from the WordPress.org repo: Plugins → Add New → search "Essential Addons" → Install → Activate. This is the base plugin.
- Install Essential Addons for Elementor – Pro (the paid version) by uploading the zip: Plugins → Add New → Upload Plugin → pick the EA Pro zip → Install → Activate.
- Activate your license at WP admin → Essential Addons → License.
- Open the Elements page at Essential Addons → Elements. By default every widget is enabled. You can leave it that way (each widget’s CSS/JS only loads when actually placed on a page) or proactively disable widgets you’ll never use to keep the Elementor panel cleaner.
- Open the Extensions page and decide which extensions you want active. Custom Cursor and Parallax are stylistic. Conditional Display, Content Protection, and Advanced Dynamic Tags are platform-level and worth turning on for any non-trivial site.
- Configure API integrations (under Settings → API Integrations) only if you’ll use the Instagram Feed, Twitter Feed, Mailchimp, or Google Maps widgets. Each requires its own API key.
That’s it. No demo content to import, no theme conflict to resolve. EA inherits whatever theme you have active and shows its widgets inside whatever Elementor builder you open.
Extensions, not just widgets
The widgets get the marketing copy but the extensions are what change how Elementor actually works.
Conditional Display is the headliner. Every element in Elementor gets a new "EA Conditional Display" section in the Advanced tab. You can stack rules: "show this section if user is logged in AND user role is subscriber AND date is between today and 2026-12-31 AND ACF field ‘beta_access’ equals 1". The UI is sane, the conditions are common-sense, and the implementation actually works server-side so search engines see the right content.
I’ve used this for: showing a "complete your profile" banner only to logged-in users with missing meta; gating an early-access section by ACF field; rotating three different home page heroes by day of the week; showing different CTAs to first-time vs returning visitors (detected by cookie).
Content Protection is similar but for whole sections. Restrict by user role, restrict by password, restrict by membership level (integrates with MemberPress, Restrict Content Pro, WooCommerce Memberships), restrict by date range, restrict by URL parameter. The locked section shows a fallback message or a login form, your choice.
Advanced Dynamic Tags plugs into Elementor’s dynamic tag system and adds providers for Posts, Custom Post Types, Taxonomies, ACF Relationship fields, and WooCommerce Products. So a widget that accepts a dynamic value (a heading, an image URL, a button link) can pull from any of those sources. Combine with the query-loop-like elements (Smart Post List, Post Carousel) and you get a real CMS-driven layout without writing PHP.
Particles, Parallax, Tooltip Section, Smooth Animation are section-level effects that appear inside Elementor’s Advanced tab for each section. Toggle one on, configure, save. No new widgets, no separate UI. They feel like first-party Elementor features once enabled.
Custom Cursor replaces the default cursor with a custom shape, image, or text bubble. Sitewide or per element. Pure decoration but well-implemented.
WooCommerce widgets
The WooCommerce widget pack is what made me upgrade to Pro back when I was on the fence. WooCommerce out of the box uses shortcodes ([woocommerce_cart], [woocommerce_checkout]) and templates that you override by copying them into your theme. It’s fine but it doesn’t fit a visual workflow.
EA Pro ships these as real Elementor widgets you drop on a template and lay out visually:
- Woo Account Dashboard is the My Account page, fully buildable, with each section (orders, addresses, downloads, account details, lost password) as an editable region.
- Woo Checkout is a multi-step checkout layout, billing/shipping/payment as separate Elementor sections, easy to reorder or restyle.
- Woo Cross-Sells / Upsells to pull cross-sells from cart, style as a carousel or grid.
- Woo Product Slider / Carousel is a full product slider with filterby/orderby controls, infinite scroll, autoplay.
- Woo Thank You is the post-purchase page, with order details, recommended products, branded styling.
- Static Product lets you drop any product anywhere on the site, outside of normal WC contexts (a landing page, a sidebar, a footer). Works with subscriptions if you have WooCommerce Subscriptions installed.
- Woo Collections are grouped product galleries with custom queries.
The widgets play nicely with WooCommerce’s own actions and filters, so plugins like Cart and Checkout fields editors still work. EA is rendering layouts on top of standard WC data, not replacing the engine.
Real-world use cases
Five scenarios from real client builds. Match them against what you’re working on.
1. SaaS marketing site. Use EA for the pricing table (Multicolumn Pricing Table with monthly/yearly toggle via Pricing Slider), testimonials (Testimonial Slider with logos), team page (Team Member Carousel), and FAQ (Advanced Accordion with FAQ schema baked in). Conditional Display gates the "Schedule a Demo" CTA to non-logged-in visitors. Total: about 5 EA widgets handles the work on a 6-page site.
2. WooCommerce store with editorial content. Use the Woo Product Slider on the homepage, Smart Post List for the blog section, Static Product to feature specific products in blog posts, Image Hot Spots for "shop the look" pages. Combine with WP-Optimize Premium for caching since EA does add measurable CSS/JS weight to each page that uses its widgets.
3. Membership / course site. Content Protection wraps the actual course material. Login | Register widget replaces the default WP login form with a styled-and-on-brand version. EA’s LearnDash widgets (Course List, Course Carousel) handle the course catalog if you’re on LearnDash. Smart Post List handles the public blog. Conditional Display shows different upgrade CTAs based on user role.
4. Multi-language landing page. EA respects WPML and Polylang. Build the page once, translate the widget content via TranslatePress, and use Conditional Display to swap which testimonial slider shows per language. No need to duplicate the page per locale.
5. Portfolio / agency site. Filterable Gallery for case studies with category filters, Image Comparison for before/after shots, Custom Cursor for that "we’re a design studio" feeling. Use the EA Lightbox widget for video reels. Post Carousel for "latest projects". This is where EA.
Developer reference
EA is more "widgets you use" than "platform you extend", but it does expose hooks worth knowing about. Skip this section if you only write CSS.
Add a custom search results URL handler
add_filter( 'eael_advanced_search_result_url', function ( $url, $result ) {
// For posts of type 'recipe', override the URL to a custom search results page
if ( get_post_type( $result ) === 'recipe' ) {
return home_url( '/recipes/?s='. urlencode( get_the_title( $result ) ) );
}
return $url;
}, 10, 2 );
Customize the Login | Register webhook payload
add_filter( 'eael_login_register_webhook_http_args', function ( $args, $form_id ) {
if ( $form_id === '12345' ) {
$args['headers']['X-Auth-Token'] = 'shared-secret-here';
$args['body']['source'] = 'gpltimes-signup';
}
return $args;
}, 10, 2 );
Customize the Woo Thank You page
add_filter( 'eael_woo_thankyou_force_view', function ( $force, $order_id ) {
// Always show the EA thank-you template for subscription orders
$order = wc_get_order( $order_id );
if ( $order && $order->get_type() === 'shop_subscription' ) {
return true;
}
return $force;
}, 10, 2 );
Hook before/after the Woo product loop
add_action( 'eael_woo_before_product_loop', function ( $settings ) {
if (! empty( $settings['show_sale_banner'] ) ) {
echo '<div class="custom-sale-banner">Limited time: 20% off everything</div>';
}
} );
add_action( 'eael_woo_after_product_loop', function ( $settings ) {
echo '<p class="loop-footer">Showing products from our latest collection.</p>';
} );
Override the Woo Account Dashboard current user
add_filter( 'eael/woo-account-dashboard/get-current-user-id', function ( $user_id ) {
// If logged in as admin viewing another user's dashboard via?impersonate=123
if ( current_user_can( 'manage_woocommerce' ) && isset( $_GET['impersonate'] ) ) {
return absint( $_GET['impersonate'] );
}
return $user_id;
} );
Customize Advanced Search query
add_action( 'eael/advanced-search/before-query-all-posts', function ( $query_args, $search_term ) {
// Boost posts in the 'featured' category in search results
$query_args['meta_query'][] = [
'key' => '_is_featured',
'value' => '1',
'compare' => '=',
];
}, 10, 2 );
Whitelist your custom Elementor templates in EA
add_filter( 'eael/is_plugin_active', function ( $active, $plugin ) {
// EA checks if specific companion plugins are active before rendering some widgets
// You can override this for plugins loaded via mu-plugins or symlink installs
if ( $plugin === 'my-companion-plugin/my-companion.php' ) {
return true;
}
return $active;
}, 10, 2 );
Register a custom dynamic tag (using EA’s tag system)
EA’s Advanced Dynamic Tags extension registers tag classes via Elementor’s standard tag manager. You can add your own tag the same way:
add_action( 'elementor/dynamic_tags/register', function ( $dynamic_tags_manager ) {
require_once get_stylesheet_directory(). '/inc/dynamic-tags/current-weather.php';
$dynamic_tags_manager->register( new My_ThemeCurrent_Weather_Tag() );
} );
EA picks up registered tags automatically and they appear in the dynamic tag dropdown for any widget that supports dynamic values.
Performance, conflicts, and gotchas
Stacking two or three widget packs is a frequent source of the conflicts this section warns about. If you are weighing alternatives, our walkthrough of PowerPack for Elementor covers a lighter, single-pack option.
The output quality question is real for any addon pack. Each widget you place on a page adds its own CSS file, sometimes a JS file too. Stack 8 EA widgets on a page and you’ve added meaningful weight.
EA handles this better than most. Each widget has its own CSS/JS file that only enqueues when the widget is actually placed on the current page (not just registered as active). So a page with three EA widgets ships three small CSS files, not the entire EA bundle. The widget-level enable/disable in EA Settings → Elements is the extra safety net: disable widgets you’ll never use and they stop being registered entirely.
Even so, for production I run WP-Optimize Premium with "Combine CSS" and "Combine JS" turned on so the per-widget files concatenate. Without minification + combine, an EA-heavy page can hit 15-20 separate CSS files. With them, it’s 1.
Conflicts to know about:
- Elementor Pro vs free Elementor. Some EA Pro widgets require Elementor Pro to be active (Login | Register uses Elementor’s form module). Most don’t. The plugin’s element list shows which require Pro.
- Other Elementor addon packs. If you also run Premium Addons, Crocoblock JetElements, or PowerPack, you may have two or three widgets that do the same thing (an accordion, a pricing table) and an even bigger Elementor element panel. Pick one pack as primary; disable duplicates in the others.
- Theme builder collisions. If your theme registers its own header/footer templates via the Elementor Theme Builder, EA’s Conditional Display still works but visibility evaluation happens before any theme-builder customization. Test in incognito mode.
- Cache plugins and Conditional Display. A cached page renders the same HTML for every visitor, so per-user conditional logic doesn’t work for cached pages without exclusion. Add the page to your cache plugin’s exclusion list (URL exclusion in WP Rocket: WP Rocket → Advanced Rules) if visibility depends on user role.
Gotchas worth knowing upfront:
- API keys are stored in the database, not as constants. Setting
EAEL_INSTAGRAM_ACCESS_TOKENinwp-config.phpdoesn’t override the EA settings value. If you’re committing config to version control, this matters. - Some widgets duplicate Elementor Pro features. If you have Elementor Pro, you already have a Login form widget, a Posts widget, a Slides widget, and so on. EA’s versions are different but it’s worth comparing before choosing which to use on a project.
- The free + Pro split sometimes confuses license activation. If your free EA plugin updates and the Pro doesn’t, you can get version-mismatch warnings. Update both at the same time.
- Custom Cursor doesn’t work on touch devices. Obvious in retrospect but worth knowing if your analytics show high mobile traffic.
Pricing and licensing
EA Pro is sold direct by WPDeveloper as an annual subscription. There’s a single-site tier, a 3-site tier, an unlimited-sites tier, and a lifetime option. Pricing changes periodically; check essential-addons.com for the current numbers if you’re buying retail.
The free EA plugin is and will remain free; it lives on wordpress.org and updates through the standard plugin auto-updater.
That’s what I use on staging environments and side projects. For production sites where you want vendor support (their help desk, beta access, priority bug fixes), buy a direct license.
FAQ
Do I need Elementor Pro to use Essential Addons?
No, the free Elementor plugin is enough for most EA widgets. A few EA Pro widgets (specifically the ones that extend Elementor Pro’s form module) need Elementor Pro active. You can check per widget in the Essential Addons → Elements tab; widgets that need Pro are flagged.
Do I need the free EA plugin if I have Pro?
Yes. EA Pro extends the free plugin, it doesn’t replace it. Install free first, then install Pro on top. Both stay active.
Does Essential Addons slow down my site?
On its own, minimally, since each widget loads only the CSS/JS it needs, and only when placed on a page. In aggregate (with many widgets on a single page) it can add noticeable weight. Use a caching plugin with CSS/JS combine to mitigate.
Is Essential Addons better than Premium Addons or PowerPack?
Different focus. EA has the broadest widget catalog and the WooCommerce template kit. Premium Addons leans more visual (animation-heavy widgets, fancy hovers). PowerPack focuses on form widgets and templates. I’ve shipped sites with all three. Pick the one whose specific widgets match what you need; don’t run multiple addon packs at once.
Can I use EA with the Block Editor (Gutenberg)?
EA is an Elementor extension, so its widgets only show up in Elementor’s builder, not in the Block Editor. If you need Gutenberg widgets from WPDeveloper, they have a separate plugin called Essential Blocks. Different product.
Does the Login | Register widget work with WooCommerce?
Yes, it can replace the WC My Account login form. There’s a setting in the widget to redirect logged-in users to the My Account page. Pairs well with the EA Woo Account Dashboard.
What about GDPR / cookies for the social widgets?
The Instagram, Twitter, and Facebook widgets load third-party assets when displayed. If you need GDPR compliance, gate them behind a consent banner via Conditional Display or your consent plugin’s blocking feature.
Will my EA widgets break if I switch off Essential Addons later?
The widgets you placed on pages render as raw shortcode-style markup if EA is deactivated. The page won’t crash, but the EA-built sections will show as plain text. Switching back to a vanilla Elementor build means rebuilding those sections in Elementor’s native widgets.
Final thoughts
Essential Addons is one of those plugins where my honest answer to "do you recommend it?" is "yes, but install the free version first". The free pack covers 70 widgets and is enough for most simple sites; the Pro pack is what you reach for when you start needing conditional display, content protection, dynamic tag providers, or the WooCommerce template kit.
If you build with Elementor regularly, EA Pro. The conditional display extension alone has saved me hours of custom theme work on multiple builds. The widget pack is broader than any competitor and the per-widget enable/disable means you only carry the weight you use.
Install the free plugin from wordpress.org, layer EA Pro on top, build a real page with five or six EA widgets, and you’ll know in a couple of hours whether it fits your workflow. For me it has, on most projects, for years.