Elementor Visibility Control
Advanced visibility control for Elementor — hide/show elements by schedule, device, user role, URL parameter, and more.
by Selim Ozmen · github.com/selimozmen/elementor-visibility-control
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/selimozmen/elementor-visibility-control/archive/refs/heads/main.zipAdvanced visibility control plugin for Elementor — hide or show any element based on schedule, device, user role, URL parameters, and more.
Features
Manual Hide/Show
Toggle any widget, section, or container on/off with a single switch. When hidden, the element is completely removed from the DOM — no CSS tricks, no hidden markup.
Device Visibility
Control visibility per device type with server-side user-agent detection:
- Hide on Desktop — element won't render on desktop browsers
- Hide on Tablet — element won't render on tablets (iPad, Android tablets, etc.)
- Hide on Mobile — element won't render on mobile phones
Unlike Elementor's built-in responsive visibility (which uses CSS
display:none), this plugin removes the element from the HTML entirely — better for performance and SEO.
User Role Control
- Logged-in Users Only — restrict elements to authenticated users
- Restrict to Roles — show only to specific WordPress roles (Administrator, Editor, Subscriber, etc.)
Use cases: member-only content, admin-only notices, subscriber-only CTAs.
URL Parameter Matching
Show elements only when a specific URL parameter is present:
- Parameter Name — e.g.
promo - Parameter Value (optional) — e.g.
true
Example: A banner that only appears when visiting yoursite.com/landing?promo=true.
Date Range Scheduling
Set a start and/or end date for any element:
- Show From — element appears after this date/time
- Hide After — element disappears after this date/time
Leave either field empty for open-ended scheduling (start immediately or show indefinitely).
Day of Week Restriction
Show elements only on specific days:
- Select any combination of Monday through Sunday
- Uses WordPress timezone settings
Use cases: weekend promotions, weekday-only business hours info, Friday sale banners.
Daily Time Window
Show elements only during specific hours every day:
- From Time — start hour in 24h format (e.g.
09:00) - Until Time — end hour in 24h format (e.g.
17:00)
Use cases: lunch menu (11:00–14:00), business hours notice, happy hour promotion.
Editor Visual Badges
Active visibility rules are shown directly in the Elementor editor with color-coded badges:
- Red badge — element is manually hidden
- Blue badge — conditional rules are active (shows which: Scheduled, Days, Hours, Role, URL, No Desktop, etc.)
No need to open each element's settings to see what's going on.
Admin Summary Page
A dedicated admin page (Elementor → Visibility Control) lists every element across your site that has active visibility rules:
- Page name (linked to Elementor editor)
- Element type and ID
- Active rules summary
- Quick edit link
Shortcode Support
Use the [evc_visible] shortcode anywhere WordPress supports shortcodes — posts, pages, text widgets, theme files:
[evc_visible from="2025-12-01" to="2025-12-31"]
Christmas sale content here!
[/evc_visible]
All available shortcode attributes:
| Attribute | Description | Example |
|---|---|---|
from |
Show after this date | from="2025-06-01" |
to |
Hide after this date | to="2025-06-30" |
days |
Days of week (0=Sun, 1=Mon, ..., 6=Sat) | days="1,2,3,4,5" |
time_start |
Daily start time (24h) | time_start="09:00" |
time_end |
Daily end time (24h) | time_end="17:00" |
logged_in |
Require login | logged_in="yes" |
roles |
Restrict to roles (comma-separated) | roles="administrator,editor" |
device |
Show only on these devices | device="desktop,mobile" |
param |
Required URL parameter name | param="promo" |
param_val |
Required URL parameter value | param_val="true" |
Shortcode examples:
<!-- Weekday business hours only -->
[evc_visible days="1,2,3,4,5" time_start="09:00" time_end="17:00"]
Call us now — we're open!
[/evc_visible]
<!-- Admin-only debug info -->
[evc_visible logged_in="yes" roles="administrator"]
Debug: current server time is ...
[/evc_visible]
<!-- Mobile-only CTA -->
[evc_visible device="mobile"]
Tap to call: 555-1234
[/evc_visible]
<!-- Campaign landing page content -->
[evc_visible param="utm_campaign" param_val="summer2025"]
Welcome to our summer campaign!
[/evc_visible]
Element Support
Works with all Elementor element types:
- Widgets — all standard and third-party widgets
- Sections — classic Elementor sections
- Containers — Flexbox containers
Installation
- Download the plugin ZIP file
- Go to WordPress Admin → Plugins → Add New → Upload Plugin
- Upload the ZIP file and click Install Now
- Activate the plugin
Usage
- Open any page in the Elementor Editor
- Select a widget, section, or container
- Go to Advanced → Visibility Control
- Configure your visibility rules
- Save and publish
Languages
The plugin is fully translated into:
- English (default)
- Türkçe (Turkish)
- Deutsch (German)
- Français (French)
- Español (Spanish)
- Italiano (Italian)
The plugin automatically uses the language set in Settings → General → Site Language.
Requirements
- WordPress 5.0+
- Elementor 3.0+
- PHP 7.4+
Author
Selim Ozmen
License
GPLv2 or later