Enables the previous "classic" editor and the old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports all…
About Widget Context
Widget Context is a plugin that allows you to show and hide widgets on different sections of your website. You can target specific URLs and use wildcards for maximum flexibility. There is also a premium support service available that includes the PRO version of the plugin for free.Screenshots


Frequently asked questions
What is Widget Context?
Widget Context is a WordPress plugin that allows you to show and hide widgets on specific sections of your site, such as the front page, posts, pages, archives, and search results. It enables targeting by URLs for flexible widget visibility control.
How do I configure widget visibility?
Widget visibility can be configured under individual widget settings in "Appearance → Widgets" in your WordPress administration area. Alternatively, you can use the widget editing interface in the Customizer.
What is the "Target by URL" feature?
The "Target by URL" feature allows you to target sections of your website based on request URLs. It supports relative URLs for portability and wildcards for matching dynamic parts of URLs.
How do wildcards work in URL targeting?
You can use the wildcard symbol * for matching dynamic parts of a URL. For example, topic/widgets/* can match all posts in the widgets category, and page-slug/* can match all child pages of a parent page. A trailing ?* can capture URLs with query arguments.
Can I exclude URLs from widget display?
Yes, you can specify URLs to ignore even if they are matched by other context rules. This allows you to hide a widget on specific pages within a broader matched section.
Changelog
1.3.3 (August 31, 2024)
- Mark as tested with WordPress 6.6 and PHP 8.2, see #72.
1.3.2 (April 27, 2020)
- Bugfix: Fix the Widget Context settings link in the widget controls after moving the settings under the “Appearance” menu for usability (closer to the widget settings).
- Feature: Add a link to the plugin settings in the plugin admin list, too.
1.3.1 (April 24, 2020)
- Bugfix: better support for URL rules with query parameters.
1.3.0 (April 23, 2020)
- Introduce the long-awaited “Exclude by URL” feature to prevent certain URLs from showing or hiding a widget when it’s matched by any other visibility rule.
- Introduce premium support to help maintain the plugin. Subscribe now to get the PRO version of the Widget Context for free when it’s launched!
1.2.0 (August 20, 2019)
- Set PHP 5.6 as the minimum supported version of PHP to match WordPress core.
- Developer tooling update: introduce PHP autoloading, PHP unit tests with proper mocking, linting for JS, switch to Docker inside a Vagrant wrapper for local development environment and update to the latest version of WordPress coding standards (see #50).
1.1.1 (June 9, 2019)
- Mark as tested with WordPress 5.2.
- Add test coverage reporting and remove Debug Bar integration since it wasn’t complete. Refactor plugin structure to support dependency integration. See #47.
- Added local development environment, see #48.
1.1.0 (June 13, 2018)
- Fix URL matching for URLs with query strings.
- Introduce unit tests for the URL context.
1.0.7 (June 5, 2018)
- Mark as tested with WordPress 4.9.6.
- Use the localisation service provided by WP.org.
- Support for Composer.
1.0.6 (January 20, 2018)
- Fix path to admin scripts and styles, props @tedgeving.
- Mark as tested with WordPress 4.9.2.
1.0.5 (May 8, 2017)
- Confirm the plugin works with the latest version of WordPress.
- Add support for continuous testing via wp-dev-lib.
1.0.4 (May 6, 2016)
- Confirm the plugin works with the latest version of WordPress.
- Fix the PHP class constructor warning.
- Move the widget context settings link.
- Fix the initial context state in the customizer.
1.0.3
- Include Russian translation (Thanks Flector!).
- Add textdomain to the remaining strings.
- Enable debugging if Debug Bar is available.
1.0.2
- Load available custom post types and taxonomies right before visibility checks to avoid PHP warnings.
- Run visibility checks only after the main post query has run. Fixes issues with WooCommerce.
- Load our CSS and Javascript files only on widget and customizer admin pages.
1.0.1
- Fix PHP warning in custom post type and taxonomy module.
1.0
- Public release of the 1.0 refactoring.
1.0-beta
- Improved settings page.
1.0-alpha
- Refactor code to allow custom widget context modules.
0.8.3
- Fix PHP warning that occurred on PHP 5.2.x.
0.8.2
- Improved SSL/HTTPS detection.
- Fix: Ensure that is_active_sidebar() & is_dynamic_sidebar() don’t return true when there are no widgets displayed on a page.
- Two new filters so that other plugins can override widget context display/visibility logic.
0.8.1
- Revert back to changing callback function in
$wp_registered_widgetsfor attaching widget context setting controls. - Fix the word count logic.
0.8
- Major code rewrite and refactoring to improve performance and usability.
- Fix bugs with URL targeting and empty lines in the “Target by URL” textarea.
0.7.2
- Fix PHP warnings/notices. Props to James Collins.
0.7.1
- Confirm that the plugin works with the latest version of WP.
0.7
- Bug fix: check for active sidebars only after $paged has been set.
0.6
- Don’t check for used sidebars on each widget load. Allow absolute URLs in the URL check.
0.5
- Added distinction between is_front_page() and is_home(). Remove widgets from wp_get_sidebars_widgets() if they are not being displayed — this way you can check if a particular sidebar is empty.
0.4.5
- Widget output callback couldn’t determine the widget_id.
0.4.4
- Fixed widget control parameter transfer for widgets that don’t use the new widget api.
0.4.2
- Initial release on Plugin repository.
