
Say your store closes at 6pm and you want the “Order Now” button to turn into a “We’re closed, back at 9am” notice after hours. Or the pricing table shows one price to logged-out visitors and another to members. You could build two pages and swap them by hand. Nobody wants to do that twice a day.
Elementor conditional display fixes it: build both versions on the same page, then attach a rule to each one that decides who sees it and when. The Display Conditions extension in Master Addons adds this to every Elementor element, free, no code.
Below: every condition type, how the AND/OR logic actually behaves, the one setting that quietly bites people (Output HTML), and where this approach runs out of road.
Every Elementor element, whether it’s a container, a widget, or a column, picks up a Display Conditions panel in its Advanced tab. Switch it on and you can attach rules. Visitor passes, they see the element. Visitor fails, it’s gone.
Each rule reads like a sentence in three parts: what to check, an operator (Is or Is not), and a value. “Login Status is Logged in.” “Browser is not Safari.” That’s the entire model. Everything below is a variation on it.
Display Conditions ships with Master Addons but isn’t active out of the box. Go to Master Addons > Settings > Extensions, find it under the Dynamic Widgets group, toggle it on, save.
Skip that and the Display Conditions panel never appears in the Advanced tab, which is far and away the most common “it’s not working” message we get. If you don’t have the plugin yet, install Master Addons free from WordPress.org.
Enable Display Conditions on an element and you get a Display on dropdown with two choices. Picking the wrong one is the most common reason a rule “doesn’t work.”

All conditions met is AND logic, so every rule has to pass. Any condition met is OR logic, so one passing rule is enough.
Here’s what that means in practice. Say you set two conditions: “Browser is Chrome” and “User Role is Administrator.”
On All conditions met, only an admin who happens to be browsing in Chrome sees the element. That same admin on Firefox sees nothing.
On Any condition met, every Chrome visitor sees it, and so does every admin on any browser. That’s a much bigger audience than most people have in mind when they add a second rule.
So if an element is showing to people it shouldn’t, check this dropdown before you touch anything else.
Sitting right under the main toggle is Output HTML, and its own label spells out what it does: “If enabled, the HTML code will exist on the page but the widget will be hidden using CSS.”
That matters a lot more than its quiet placement suggests.
Leave it off, which is the default, and the element is never rendered. It isn’t in the page source at all. Someone who fails the condition can’t view-source and read it, and Google won’t index it.
Turn it on and the element gets rendered into the HTML, then hidden with CSS. Anyone can open dev tools, delete one line, and read the whole thing.
So keep Output HTML off for anything you actually want kept private: a members-only price, a hidden download link, an internal note. The reason the setting exists at all is that some scripts need the markup present in the DOM to work, which comes up with sliders, tab systems, and counters that measure elements on page load. That’s the case to turn it on for, and not much else.
While we’re here, the blunt version: conditional display is a presentation tool, not an access-control system. With Output HTML off it’s perfectly solid for everyday use. But content that has to be locked down, like a paid course or a gated file, belongs behind real protection. The Restrict Content widget exists for that, and a proper WordPress membership setup is the right answer for anything you charge money for.
Open the Condition dropdown and you get four groups.

| Group | Conditions | Typical use |
|---|---|---|
| Visitor | Login Status, User Role, Operating System, Browser | Member pricing, admin-only notes, “Download for Mac” buttons |
| Date & Time | Date Range, Time of Day, Day of Week | Sales that expire, opening hours, weekend offers |
| Single | Page, Post, Static Page, Post Type, Post Has Term | Header CTA that changes on certain pages |
| Archive | Taxonomy Archive, Term Archive, Post Type Archive, Date Archive, Author Archive, Search Results | Category-specific banners, a message on empty search results |
Every one of them pairs with Is or Is not, which quietly doubles what a single rule can do.
Select the element, open Advanced > Display Conditions, switch it on. The default condition is already Login Status set to Is, meaning logged-in visitors see it and nobody else does. You don’t have to change anything.

Now build the opposite version for logged-out visitors. Select that second element, enable Display Conditions, and flip the operator to Is not.

Stack those two on one page and you’ve got a header that greets members by name and pitches a signup to everyone else, with no duplicate page to keep in sync.
Same flow, different condition. Choose User Role from the dropdown and pick the role you’re after: Administrator, Editor, Subscriber, Customer, whatever your site has. WooCommerce and membership plugins add their own roles to this list.

Flip it to Is not Administrator and everyone except admins sees the element. That’s handy for a “here’s how to edit this section” note your client sees on the page, without you having to look at it every time you open the site.
One catch: a user role only exists for someone who’s logged in. A logged-out visitor has no role at all, so a User Role rule will never match them, no matter what you set. If you need to catch logged-out people, that’s a Login Status rule.
Three time-based conditions, and they save more work than anything else in the list.
Date Range takes a start and an end date. Build the Black Friday banner in October, set the range, forget about it. It shows up and disappears on its own.
Time of Day takes a time window, which is the open-versus-closed swap from the top of this article.
Day of Week takes one or more days, added as tags.

Set it to Monday through Friday for a “chat with support now” widget and let a “leave us a message” block cover the weekend. Combine Day of Week with Time of Day on All conditions met and you’ve described real opening hours in two rules.
Careful with the clock, though. Time conditions run on your WordPress site timezone (Settings > General), not the visitor’s. If your sale is supposed to end at midnight for the customer, and your server sits on UTC while your customers are in New York, it ends five hours early for them. Check that setting before you schedule anything that costs money.
Pick Browser or Operating System and target Chrome, Firefox, Safari, Edge, Windows, macOS, Linux, and so on.

The real use for OS targeting is app downloads. Show the Mac button to Mac visitors and the Windows button to Windows visitors, instead of a row of four buttons where three of them are wrong for whoever is looking.
Browser targeting is narrower than people expect. It’s for the occasional “this feature behaves differently in Safari” notice, not for shipping different designs per browser. If a section only works in Chrome, fix the CSS. Don’t hide it from your Firefox visitors and call it done.
Also worth saying plainly: this is not device targeting. Elementor’s responsive controls already hide elements per screen size, and that’s the right tool for phone versus desktop. Operating System is about the platform, not the size of the screen.
A few setups worth stealing.
Run two headers from one template: in your Theme Builder header, put a “Log in” button on Login Status Is not, and a “My Account” button on Login Status Is. One header, both audiences. The same trick works in the footer.
Let sales run themselves with a promo bar on a Date Range condition, scheduled weeks ahead, so there’s no 6am launch-day scramble. Leave client instructions on the page with an admin-only note set to User Role Is Administrator, sitting exactly where it’s needed instead of buried in an email.
You can also put conditions on the elements inside a popup, so a single popup serves logged-in and logged-out visitors differently, and use Taxonomy Archive conditions to run a different offer on each product category archive.
For deeper personalization, pair conditions with Dynamic Tags (ACF supported) so the version that survives the rules pulls live data instead of static text.
Conditional display lets you show or hide any Elementor element based on rules, like whether the visitor is logged in, their user role, their browser, or the day of the week. You build one page holding several versions of a section, and each visitor sees only the version that applies to them.
Yes. The Display Conditions extension comes with the free Master Addons plugin. Enable it under Master Addons, then Settings, then Extensions, and a Display Conditions panel shows up in the Advanced tab of every element.
With Output HTML off (the default), the element is never rendered, so it isn’t in the page source at all. Turn Output HTML on and the markup loads but is hidden with CSS, which anyone can undo in dev tools. Keep it off for anything sensitive.
Usually one of three things: the Display on dropdown is set to “Any condition met” instead of “All conditions met”, you’re testing while logged in as an admin, or a caching plugin is serving a stored copy of the page. Test in a private window with the cache cleared.
No. They run on your WordPress site timezone, set under Settings, then General. If your visitors sit in a different timezone, a sale ending at midnight on your server ends at a different hour for them, so set the site timezone deliberately.
Elementor conditional display turns one page into as many versions as you need. Enable the extension, open Advanced > Display Conditions on any element, and write the rule: check something, Is or Is not, done. Two settings decide whether it behaves the way you expect. Display on controls AND versus OR, and Output HTML controls whether hidden content is genuinely absent or just painted over.
It’s part of the free Master Addons extension set, so there’s nothing to buy before you try it. If you end up wanting the rest of the toolkit later, that’s what the Pro plans are for.
Related reading: Elementor entrance animations, how to create a sticky header in Elementor, and how to add age verification in Elementor.
Get all the premium widgets and templates you desire, built with clean code that keeps your site fast. Ditch the bloat, not the features.

110+ Premium Widgets & Lifetime Updates – Build Beyond Limits. An Exclusive Creation by Pixar Labs
Every Master Addons Pro license comes with a 14-day no-questions refund, lifetime updates, and priority support. Try it risk-free this Spring – 40% OFF with “RESET40″ coupon.