Title: Widget Visibility Control
Author: Fernando Tellado
Published: <strong>December 18, 2025</strong>
Last modified: March 29, 2026

---

Search plugins

![](https://ps.w.org/widget-visibility-control/assets/banner-772x250.jpg?rev=3442857)

![](https://ps.w.org/widget-visibility-control/assets/icon-256x256.png?rev=3423400)

# Widget Visibility Control

 By [Fernando Tellado](https://profiles.wordpress.org/fernandot/)

[Download](https://downloads.wordpress.org/plugin/widget-visibility-control.1.1.2.zip)

[Live Preview](https://srd.wordpress.org/plugins/widget-visibility-control/?preview=1)

 * [Details](https://srd.wordpress.org/plugins/widget-visibility-control/#description)
 * [Reviews](https://srd.wordpress.org/plugins/widget-visibility-control/#reviews)
 *  [Installation](https://srd.wordpress.org/plugins/widget-visibility-control/#installation)
 * [Development](https://srd.wordpress.org/plugins/widget-visibility-control/#developers)

 [Support](https://wordpress.org/support/plugin/widget-visibility-control/)

## Description

Widget Visibility Control lets you decide exactly where each widget appears on your
site. Show widgets only on specific pages, hide them for logged-out users, display
different content for different categories – all without writing a single line of
code.

#### Looking for Widget Visibility and Scheduling?

This plugin gives you control over where your widgets appear:

 * **Page targeting** – Show widgets on the front page, blog page, specific pages,
   or 404 error page
 * **Content targeting** – Display widgets only on certain categories, tags, or 
   custom taxonomies
 * **User targeting** – Show different widgets to logged-in users vs. visitors
 * **Role-based display** – Target specific user roles (administrators, editors,
   subscribers, etc.)
 * **Author pages** – Control visibility on author archive pages
 * **Date archives** – Target daily, monthly, or yearly archives
 * **Post type support** – Works with custom post types and their archives
 * **Time scheduling** – Schedule widgets to appear only during specific date and
   time ranges. Perfect for promotional banners, seasonal offers, holiday announcements,
   flash sales, event countdowns, and time-limited content

#### Multiple Conditions

Create sophisticated visibility rules by combining multiple conditions:

 * Use **OR logic** – Show if ANY condition matches
 * Use **AND logic** – Show only if ALL conditions match
 * Mix and match – Create exactly the rules you need

#### Built for Performance

 * Minimal database queries with intelligent caching
 * Only loads assets where needed (widget screens)
 * Clean, optimized code following WordPress standards

#### Why Choose This Plugin?

 * **Lightweight** – Focused functionality without unnecessary features
 * **All features included** – No premium version required
 * **Jetpack Compatible** – Migrate from Jetpack Widget Visibility without reconfiguring
   anything
 * **Independent Storage** – Your rules are stored separately, safe from Jetpack
   changes
 * **Block Editor Ready** – Works with both classic widgets and block-based widgets
 * **Privacy Focused** – No external connections, no tracking, no data collection

#### Coming from Jetpack?

If you’ve been using Jetpack just for widget visibility and want to reduce your 
site’s load, this plugin can help:

 * **No configuration needed** – Your existing visibility rules are automatically
   imported on activation
 * **Same familiar interface** – The visibility panel works as you’re used to
 * **Keep or clean legacy data** – Choose to maintain Jetpack compatibility or clean
   up completely
 * **No disruption** – Your widgets will continue working as before

#### Developer Friendly

 * Follows WordPress Coding Standards
 * Fully translatable with complete i18n support
 * Action and filter hooks for customization
 * Clean uninstall – removes only its own data

### Support

Need help or have suggestions?

 * [Official website](https://servicios.ayudawp.com)
 * [WordPress support forum](https://wordpress.org/support/plugin/widget-visibility-control/)
 * [YouTube channel](https://www.youtube.com/@AyudaWP)
 * [Documentation and tutorials](https://ayudawp.com)

Love the plugin? Please [leave us a 5-star review](https://wordpress.org/support/plugin/widget-visibility-control/reviews/#new-post)
and help spread the word!

### About AyudaWP

We are specialists in WordPress security, SEO, and performance optimization plugins.
We create tools that solve real problems for WordPress site owners while maintaining
the highest coding standards and accessibility requirements.

## Screenshots

 * [[
 * Visibility Options settings on classic widgets
 * [[
 * Visibility Options settings on block based widgets
 * [[
 * Multiple conditions with AND/OR logic
 * [[
 * Settings page with data management options

## Installation

 1. Upload the `widget-visibility-control` folder to `/wp-content/plugins/`
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Configure visibility rules for your widgets (see “Where to find visibility settings”
    below)

#### Where to find visibility settings

The location of visibility settings depends on your widget editing interface:

**In Appearance > Widgets (block editor):**
 When using native block widgets, select
any block in a widget area, then look in the right sidebar under **Advanced > Visibility**.
Here you can add rules to show or hide the block.

**In Appearance > Widgets (with Classic Widgets plugin):**
 If you have the Classic
Widgets plugin active, click the **“Visibility”** button that appears below each
widget’s settings.

**In Appearance > Customize > Widgets:**
 The Customizer always uses the classic
interface. Click the **“Visibility”** button below each widget’s settings to configure
rules.

**Legacy Widgets in block editor:**
 When you add a Legacy Widget block, expand 
the widget settings and you’ll find the **“Visibility”** button in the classic interface
within the block.

**Coming from Jetpack?** Your existing visibility rules will be automatically imported.
Visit Appearance > Widget Visibility to review your imported data.

## FAQ

### Does this work with the block-based widget editor?

Yes! Widget Visibility Control works with all widget editing interfaces:

 * **Block-based widgets** (Appearance > Widgets): Visibility settings appear in
   the block’s Advanced panel in the right sidebar.
 * **Legacy Widgets** in the block editor: The classic “Visibility” button appears
   within the legacy widget interface.
 * **Classic Widgets plugin**: If you prefer the traditional widget interface, the“
   Visibility” button appears below each widget.
 * **Customizer** (Appearance > Customize > Widgets): Always uses the classic “Visibility”
   button interface.

### I’m using Jetpack. Will my visibility rules be preserved?

Yes. On activation, the plugin automatically imports all your existing Jetpack Widget
Visibility rules. No reconfiguration needed.

### Can I use this alongside Jetpack?

Yes, but to avoid conflicts, our visibility interface is automatically disabled 
while Jetpack Widget Visibility module is active. You can continue using Jetpack’s
interface, and when you disable the Jetpack module, our interface will take over
automatically. Your visibility rules are stored in both formats, so the transition
is seamless.

### What happens if I deactivate or uninstall this plugin?

On deactivation, your rules are preserved for when you reactivate. On uninstall,
only this plugin’s data is removed. If you haven’t cleaned the legacy data, Jetpack
can still read your original rules.

### Can I use multiple conditions on a single widget?

Yes. You can add multiple conditions and choose whether ALL conditions must match(
AND logic) or just ONE condition needs to match (OR logic).

### Does this plugin slow down my site?

No. The plugin is optimized for performance with intelligent caching. Assets only
load on admin widget screens, and frontend checks are minimal and cached.

### Does this require a WordPress.com connection?

No. This plugin works completely standalone without any external connections or 
dependencies.

### Does this work with full site editing (FSE) themes?

This plugin is designed for widget areas (sidebars, footers, etc.). Full Site Editing
themes typically don’t use traditional widget areas – instead, they manage all content
through the Site Editor using template parts and blocks.

If your FSE theme includes widget areas, the plugin will work in those areas. If
you need conditional visibility for blocks in FSE templates, you would need a different
solution designed for the Site Editor.

### How does time scheduling work?

Time scheduling allows you to show or hide widgets during specific date and time
ranges. This is ideal for:

 * **Promotional banners** – Display ads only during sale periods
 * **Seasonal content** – Show holiday greetings or seasonal offers automatically
 * **Flash sales** – Schedule countdown widgets for limited-time deals
 * **Event announcements** – Display event info until the event date passes
 * **Time-sensitive notices** – Show maintenance warnings or temporary announcements

You can configure:

 * **Show only during period** – Widget appears only between the start and end dates
 * **Hide during period** – Widget is hidden between the start and end dates
 * **No end date** – Widget starts showing from a specific date and continues indefinitely

The schedule uses your WordPress timezone setting (Settings > General). If you also
have visibility rules configured (like “show only on homepage”), both conditions
must be met – the widget will only appear on the homepage AND within the scheduled
time range.

## Reviews

![](https://secure.gravatar.com/avatar/8439c0b8e69dba402a16468e80e8f09ee3113b50c71fecbe41426ef070b3d1cd?
s=60&d=retro&r=g)

### 󠀁[Good one](https://wordpress.org/support/topic/good-one-629/)󠁿

 [Alvaro Torres](https://profiles.wordpress.org/algato333/) January 16, 2026 1 reply

A must!

![](https://secure.gravatar.com/avatar/5b0a1b43796cabd58557441ad319e078e81a1cf7020562e73b1c377da0d5bd37?
s=60&d=retro&r=g)

### 󠀁[Needed for control](https://wordpress.org/support/topic/needed-for-control/)󠁿

 [Héctor Tellado](https://profiles.wordpress.org/hectortellado/) January 12, 2026

Just great to add some control when you have so many over the years

 [ Read all 1 review ](https://wordpress.org/support/plugin/widget-visibility-control/reviews/)

## Contributors & Developers

“Widget Visibility Control” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Fernando Tellado ](https://profiles.wordpress.org/fernandot/)
 *   [ Ayuda WordPress ](https://profiles.wordpress.org/ayudawp/)

“Widget Visibility Control” has been translated into 2 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/widget-visibility-control/contributors)
for their contributions.

[Translate “Widget Visibility Control” into your language.](https://translate.wordpress.org/projects/wp-plugins/widget-visibility-control)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/widget-visibility-control/),
check out the [SVN repository](https://plugins.svn.wordpress.org/widget-visibility-control/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/widget-visibility-control/)
by [RSS](https://plugins.trac.wordpress.org/log/widget-visibility-control/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.2

Tested up to WordPress 7.0

#### 1.1.1

 * Fixed: Classic/legacy widgets visibility rules not working (missing filter arguments)
 * Fixed: Block widgets showing empty container when hidden (now completely hidden)
 * Fixed: Improved handling of block widgets in widget_display_callback filter
 * Fixed: Schedule not working when combined with visibility rules
 * Fixed: Timezone handling in schedule evaluation
 * Improved: Better block visibility filtering using pre_render_block
 * Improved: Better condition checking for schedule and rules

#### 1.1.0

 * New: Time scheduling feature – schedule widgets to show/hide during specific 
   date and time ranges
 * New: “No end date” option for indefinite scheduling (ideal for permanent changes
   starting from a specific date)
 * New: Schedule conditions work alongside existing visibility rules (AND logic)
 * New: Time Schedule section in widget visibility panel for both classic and block
   editor
 * Uses WordPress timezone settings for accurate scheduling

#### 1.0.1

 * Fixed: Customizer visibility button not appearing when block editor was active
 * Fixed: Suppressed harmless wp-editor dependency notice on widgets screen
 * Improved: Customizer now works independently of block editor settings
 * Improved: Better separation between classic and block editor interfaces

#### 1.0.0

 * Initial release
 * Full support for classic widgets and block-based widgets
 * Independent data storage system
 * Automatic Jetpack Widget Visibility migration
 * Settings page for data management
 * Condition types: category, tag, author, page, post type, date, taxonomy, user
   role, login status
 * AND/OR logic for multiple conditions
 * RTL language support
 * Complete internationalization

## Meta

 *  Version **1.1.2**
 *  Last updated **1 week ago**
 *  Active installations **70+**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/widget-visibility-control/), [Spanish (Chile)](https://cl.wordpress.org/plugins/widget-visibility-control/),
   and [Spanish (Spain)](https://es.wordpress.org/plugins/widget-visibility-control/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/widget-visibility-control)
 * Tags
 * [blocks](https://srd.wordpress.org/plugins/tags/blocks/)[conditional](https://srd.wordpress.org/plugins/tags/conditional/)
   [jetpack](https://srd.wordpress.org/plugins/tags/jetpack/)[visibility](https://srd.wordpress.org/plugins/tags/visibility/)
   [widget](https://srd.wordpress.org/plugins/tags/widget/)
 *  [Advanced View](https://srd.wordpress.org/plugins/widget-visibility-control/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  2 5-star reviews     ](https://wordpress.org/support/plugin/widget-visibility-control/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/widget-visibility-control/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/widget-visibility-control/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/widget-visibility-control/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/widget-visibility-control/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/widget-visibility-control/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/widget-visibility-control/reviews/)

## Contributors

 *   [ Fernando Tellado ](https://profiles.wordpress.org/fernandot/)
 *   [ Ayuda WordPress ](https://profiles.wordpress.org/ayudawp/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/widget-visibility-control/)