=== Widget Context === Contributors: kasparsd, jamescollins Tags: widget, widgets, widget context, context, logic, widget logic, visibility, widget visibility Requires at least: 3.0 Tested up to: 5.7 Stable tag: 1.3.2 License: GPLv2 or later Requires PHP: 5.6 Donate link: https://widgetcontext.com/pro Show and hide widgets on specific posts, pages and sections of your site. == Description == Use [Widget Context](https://widgetcontext.com) to show and hide widgets on certain sections of your site -- front page, posts, pages, archives, search, etc. Use targeting by URLs (with wildcard support) for maximum flexibility. https://www.youtube.com/watch?v=rEHvqsWoXAE = Premium Support = Subscribe to our [Premium Support service](https://widgetcontext.com/pro) and get the PRO πŸš€ version of the plugin for free when it’s launched! Your support enables consistent maintenance and new feature development, and is greatly appreciated. = Contribute = - Suggest code improvements [on GitHub](https://github.com/kasparsd/widget-context-wporg). - Report bugs and suggestions on [WordPress.org forums](http://wordpress.org/support/plugin/widget-context). - [Help translate](https://translate.wordpress.org/projects/wp-plugins/widget-context) to your language. = Documentation = Widget visibility can be configured under individual widget settings under "Appearance β†’ Widgets" in your WordPress administration area or through the widget editing interface in the Customizer. = Target by URL = The "Target by URL" is a powerful feature for targeting sections of your website based on the request URLs. It was inspired by a similar feature in the [Drupal CMS](https://www.drupal.org). Use relative URLs such as `page/sub-page` instead of absolute URLs `https://example.com/page/sub-page` because relative URLs are more flexible and make the logic portable between different domains and server environments. = Wildcards = Use the wildcard symbol `*` for matching dynamic parts of the URL. For example: - `topic/widgets/*` to match all posts in the widgets category, if your permalink structure is set to `/topic/%category%/%postname%`. - `page-slug/*` to match all child pages of the page-slug parent page. - Use a trailing `?*` to capture URL with all query arguments such as `utm_source`, etc. For example, for every `blog/post-slug` also include `blog/post-slug?*`. = Exclude by URL = Specify URLs to ignore even if they're matched by any of the other context rules. For example, enter `example/sub-page` to hide a widget on this page even when "All Posts" is selected under "Global Sections". == Installation == - Search for **Widget Context** under "Plugins β†’ Add New" in your WordPress dashboard. - Widget Context settings will appear automatically under **each widget** under "Appearance β†’ Widgets". - Visit "Settings β†’ Widget Context" to configure the available widget visibility contexts. == Changelog == = 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](https://widgetcontext.com/pro) 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](https://github.com/kasparsd/widget-context-wporg/pull/50)). = 1.1.1 (June 9, 2019) = - Mark as tested with WordPress 5.2. - Add test coverage reporting and remove [Debug Bar](https://wordpress.org/plugins/debug-bar/) integration since it wasn't complete. Refactor plugin structure to support dependency integration. See [#47](https://github.com/kasparsd/widget-context-wporg/pull/47). - Added local development environment, see [#48](https://github.com/kasparsd/widget-context-wporg/pull/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](https://translate.wordpress.org/projects/wp-plugins/widget-context). - 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](https://github.com/xwp/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](https://wordpress.org/plugins/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_widgets` for 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](http://om4.com.au/). = 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. == Upgrade Notice == = 1.2.0 = PHP 5.6 is now the minimum supported version of PHP. Also included is developer tooling update and improved PHP unit tests. == Screenshots == 1. Widget Context settings at the bottom of every widget 2. Widget Context plugin settings