LogicKit for Elementor

Description

LogicKit for Elementor turns Elementor into a dynamic marketing engine. It adds a “LogicKit Rules” panel to the Advanced Tab of every classic Elementor Widget, Container, and Section, and works with the new Atomic (V4) elements too.

Stop showing the same static content to everyone. Personalize your site based on who the user is and what is in their shopping cart.

Top 6 Use Cases

  1. B2B / Wholesale Portals: Hide “Add to Cart” buttons for guests. Show bulk pricing tables only to users with the “Wholesale” role.
  2. Cart Upsells: If a user has a Camera in their cart, automatically show a banner for SD Cards.
  3. Scarcity Marketing: Automatically hide sale banners when the offer expires (Date/Time logic) or show “Low Stock” warnings when inventory < 5.
  4. Ad Tracking: Personalize landing pages based on UTM parameters (e.g., show specific content for visitors from Facebook Ads).
  5. VIP Loyalty: Show exclusive content to customers who have a total lifetime spend of over $500.
  6. Mobile Optimization: Show “Call Now” buttons only on mobile devices and “Download App” buttons only on iOS/Android.

Why use LogicKit for Elementor?

  • Works with classic and Atomic (V4) elements: A visual panel for classic elements, a simple one-line rule for Atomic elements.
  • Zero Bloat: Elements are removed from the PHP render cycle (not just hidden with CSS), keeping your site fast.
  • Element Cache friendly: Pages that use LogicKit rules automatically skip Elementor’s Element Cache, so every visitor gets the right result.
  • WooCommerce Ready: Deep integration with Cart Totals, Stock Status, and Purchase History. Compatible with High-Performance Order Storage (HPOS).
  • Built-in guide: Tools > LogicKit for Elementor Guide lists every condition with the exact rule key to use.

Using LogicKit

Classic elements (Section, Column, Container, Widgets)

Open the element > Advanced tab > LogicKit Rules > enable “Enable Logic?” and pick a trigger.

Atomic (V4) elements (Div Block, Flexbox, Grid, Heading, …)

Elementor does not currently let plugins add panels to Atomic elements, so LogicKit reads the rule from the element’s ID field. Open the element > General tab > Settings > ID and type the rule starting with lk:

  • lk:is_guest – show only to logged-out visitors
  • lk:!is_logged_in – put ! in front to invert a rule
  • lk:by_role:editor,administrator – show only to those roles
  • lk:cart_total_gt:100 – cart total over 100
  • lk:date_range:2026-12-01T00:00|2026-12-31T23:59 – date range (use T instead of a space)
  • lk:is_logged_in;by_role:editor – separate several rules with ; (all must pass)

If your Elementor includes the Attributes field, you can instead add an attribute named data-logickit with the rule (without the lk: prefix) as its value.

A mistyped or unknown rule hides the element, so a typo never exposes restricted content. The full list of rule keys is on the guide page in Tools > LogicKit for Elementor Guide.

The 30+ Logic Conditions

User & Role

  • User is Logged In / Guest
  • Specific User Role (Admin, Customer, Shop Manager, etc.)
  • Specific User ID
  • User Meta (Custom Field Check)

Cart Intelligence

  • Cart is Empty / Has Items
  • Cart Total > Amount / Cart Total < Amount
  • Cart Item Count > X
  • Cart Weight > X (For shipping warnings)
  • Specific Product in Cart
  • Specific Category in Cart
  • Coupon Code Applied

Customer History

  • Total Lifetime Spend (High value targeting)
  • Has Purchased Product (Post-purchase support)
  • Days Since Last Order (Win-back campaigns)

Product Context

  • Stock Status (In Stock, Out of Stock, Low Stock)
  • Is On Sale
  • Product Type (Virtual, Downloadable)
  • Product Price > Amount
  • Product Category

Date & Time

  • Specific Date Range (Start/End)
  • Day of Week (Recurring)
  • Time of Day (Business Hours, including overnight ranges)

Device & Marketing

  • Device Type (Mobile, Tablet, Desktop)
  • Operating System (iOS, Android, Windows, Mac, Linux)
  • Browser
  • URL Query Parameter (UTM tags)
  • Referrer Domain

Developer

  • Custom PHP Callback (restricted to an allowlist, extend it with the logickit_allowed_callbacks filter)

Compatibility

  • WordPress 6.5 to 7.1
  • Elementor 3.x and 4.x, including the Atomic (V4) editor (tested up to 4.2)
  • WooCommerce 8.0 to 11.0, including High-Performance Order Storage (HPOS)
  • PHP 8.0 or newer

Installation

  1. Upload the plugin files to the /wp-content/plugins/logickit-for-elementor directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress.
  3. Open any page in Elementor.
  4. Classic elements: click on any Widget/Container > Advanced Tab > LogicKit Rules.
  5. Atomic (V4) elements: open General Tab > Settings > ID and type a rule such as lk:is_guest.

FAQ

Does this work with the free version of Elementor?

Yes! You do not need Elementor Pro. LogicKit for Elementor brings Pro-level visibility features to the free version.

Does it work with Elementor’s new Atomic (V4) elements?

Yes. Atomic elements have no LogicKit panel because Elementor does not let plugins add one yet. Instead, type a rule in the element’s ID field, for example lk:is_guest. See “Using LogicKit” above.

Will this slow down my site?

No. LogicKit for Elementor is extremely lightweight. If a condition is met (e.g., “Hide on Mobile”), the widget is removed from the PHP rendering process entirely, which can actually improve frontend performance.

Do I need WooCommerce?

You can use the User, Date, Time, Device, and URL logic without WooCommerce. However, the Cart, Customer History and Product logic requires WooCommerce to be active.

Does it work with Elementor’s Element Cache?

Yes. Element Cache stores the rendered HTML of a page and replays it, which would freeze one visitor’s result for everyone. Since 1.2.0 LogicKit automatically skips that cache for pages and templates that contain LogicKit rules, so you can leave Element Cache enabled for the rest of your site. If a rule lives in a template embedded inside another page (Template widget, popup, loop item) and still shows stale results, set the embedding page’s Element Cache to inactive.

Why isn’t the visibility changing for different visitors?

Full-page caches (WP Rocket, LiteSpeed Cache, W3 Total Cache, Cloudflare “Cache Everything”, etc.) save the whole page and serve it to everyone without running PHP. Exclude logged-in users and any page that depends on cart, role or user data from page caching.

An unknown rule hides my element. Why?

A misspelled or malformed rule is treated as “do not show”, so a typo can never expose content you meant to restrict. Check the rule key against the guide in Tools > LogicKit for Elementor Guide.

My Custom PHP Callback stopped working after updating.

Since 1.2.0 the callback must be on an allowlist for security. Add your function with the logickit_allowed_callbacks filter:

add_filter( 'logickit_allowed_callbacks', function ( $allowed ) { $allowed[] = 'my_function_name'; return $allowed; } );

Reviews

There are no reviews for this plugin.

Contributors & Developers

“LogicKit for Elementor” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.2.0

  • New: Support for Elementor Atomic (V4) elements (Div Block, Flexbox, Grid, Heading, Paragraph, …) using rules typed in the ID field (lk:rule).
  • New: Rules can be inverted with ! and combined with ; on Atomic elements.
  • New: Pages and templates that use LogicKit rules automatically bypass Elementor’s Element Cache.
  • New: Rewritten guide page (Tools > LogicKit for Elementor Guide) showing every condition, its description and its rule key.
  • New: Declared compatibility with WooCommerce HPOS and the Cart/Checkout blocks.
  • Security: Custom PHP Callback is now restricted to an allowlist. Extend it with the logickit_allowed_callbacks filter.
  • Tweak: Unknown or malformed conditions now hide the element (fail closed).
  • Tweak: Admin notices only show to administrators on the Plugins screen and the guide page.
  • Tweak: The plugin now boots on the elementor/loaded action, independent of plugin load order.
  • Fix: “Is Mobile” no longer also matches tablets, and “Is Tablet” no longer matches phones.
  • Fix: Time of Day rules now support overnight ranges (e.g. 22:00 – 06:00).
  • Fix: Date Range rules use the site timezone and handle empty or invalid dates.
  • Fix: Product conditions no longer fail when no product is set, and now work inside product loops.
  • Fix: Product Type condition now has a value field.
  • Fix: Cart conditions no longer error when the cart is not available.
  • Fix: Operating System (iOS) check now returns a proper boolean.
  • Compatibility: Tested with WordPress 7.1, Elementor 4.2 and WooCommerce 11.0.

1.1.0

  • Add PHP callback for custom hook

1.0.0

  • Initial Release.