Title: Dynamic Widgets
Author: Kalmang
Published: <strong>17 January 2010</strong>
Last modified: 12 February 2026

---

Search plugins

![](https://ps.w.org/dynamic-widgets/assets/banner-772x250.png?rev=2968917)

![](https://ps.w.org/dynamic-widgets/assets/icon-256x256.png?rev=2968917)

# Dynamic Widgets

 By [Kalmang](https://profiles.wordpress.org/kalmang/)

[Download](https://downloads.wordpress.org/plugin/dynamic-widgets.1.6.6.zip)

 * [Details](https://en-gb.wordpress.org/plugins/dynamic-widgets/#description)
 * [Reviews](https://en-gb.wordpress.org/plugins/dynamic-widgets/#reviews)
 *  [Installation](https://en-gb.wordpress.org/plugins/dynamic-widgets/#installation)
 * [Development](https://en-gb.wordpress.org/plugins/dynamic-widgets/#developers)

 [Support](https://wordpress.org/support/plugin/dynamic-widgets/)

## Description

**Dynamic Widgets only supports classic WordPress widgets. If you’re looking to 
use this plugin for conditionalizing Gutenberg blocks, [let us know](https://docs.google.com/forms/d/e/1FAIpQLSeiKnmBSkcz_av_XEm8Po--SE4n7cKD68g6radpk8hujxWS7Q/viewform?usp=sf_link)
and we will email you when it’s in the works.**

Dynamic Widgets gives you full control on which pages a widget will display. It 
lets you dynamically show or hide widgets on WordPress pages by setting conditional
logic rules on a widget with just a few mouse clicks. No knowledge of PHP required.
No fiddling around with conditional tags. You can set conditional rules by Role,
Date, Browser, Featured image, IP Address, Mobile Devices, Theme Template, Language(
WPML or QTranslate), URL, for the Homepage, Single Posts, Attachments, Pages, Authors,
Categories, Tags, Archives, Error Page, Search Page, Custom Post Types, Custom Post
Type Archives, Custom Taxonomies in Custom Post Types, Custom Taxonomies Archives,
WPEC/WPSC Categories, BuddyPress Components, BuddyPress Groups, Pods pages and bbPress.

#### Works or broken?

If the plugin is broken for you, please let us know in the [Forum](https://wordpress.org/support/plugin/dynamic-widgets).
We like to know, so we might be able to fix it to make the plugin also work for 
you.

#### Features

 * Default widget display setting is supported for:
    - User roles
    - Dates
    - Day of the week
    - Weeknumbers
    - Browsers
    - IP ranges
    - Featured image
    - Devices (mobile, desktop)
    - Theme Templates
    - Languages (WPML)
    - URL
    - Domain name / Server name
    - Shortcode
    - Front page
    - Single post pages
    - Attachment pages
    - Pages
    - Author pages
    - Category pages
    - Tag pages
    - Archive pages
    - Error Page
    - Search Page
    - Custom Post Types
    - Custom Post Type Archive pages
    - Custom Taxonomy Archive pages
    - WP Shopping Cart / WP E-Commerce Categories
    - BuddyPress Components pages
    - BuddyPress Groups
    - Pods pages
    - bbPress User Profile pages
 * Exception rules can be created for:
    - User roles on role, including not logged in (anonymous) users
    - Dates on from, to or range
    - Day of week on day
    - Weeknumer on number
    - Browsers on browser name
    - IP on ranges
    - Featured image on existence
    - Devices on type
    - Theme Templates on template name
    - Languages (WPML) on language
    - URL on starting with URL, ending on URL or exact match
    - Domain name / Server name on name
    - Shortcode on value match
    - Front page on first page
    - Single post pages on Author, Categories (including inheritance from hierarchical
      parents), Tags, Custom Taxonomies and/or Individual posts
    - Pages on Page Title and Custom Taxonomies, including inheritance from hierarchical
      parents
    - Author pages on Author
    - Category pages on Category name, including inheritance from hierarchical parents
    - Tag pages on Tag
    - Custom Posts Type on Custom Taxonomy and Custom Post Name, including inheritance
      from hierarchical parents
    - Custom Post Type Archive pages on Custom Post Type
    - Custom Taxonomy Archive pages on Custom Taxonomy Name, including inheritance
      from hierarchical parents
    - WP Shopping Cart / WP E-Commerce Categories on Category name
    - BuddyPress Component pages on Component
    - BuddyPress Groups on Group, including hierarchical Groups provided by BP Group
      Hierarchy or Component
    - Pods pages on page
 * Plugin support for:
    - bbPress
    - BuddyPress
    - BuddyPress Group Hierarchy
    - QTranslate and its forks (currently disabled)
    - Pods
    - WP MultiLingual (WPML)
    - WP Shopping Cart / WP E-Commerce (WPSC / WPEC)
 * Language files provided:
    - Brazilian Portuguese (pt_BR) by [Renato Tavares](http://www.renatotavares.com)
    - Czech (cs_CZ) by [Pavel Bilek](http://chcistranky.eu/zdarma/)
    - Chinese (Simplified) (zh_CN) by Hanolex
    - Danish (da_DK) by Morten Nalholm
    - Dutch (nl) by Jacco Drabbe
    - French (fr_FR) by Alexis Nomine
    - German (de_DE) by Daniel Bihler
    - Japanese (ja) by chacomv
    - Lithuanian (lt_LT) by Liudas Ali�auskas
    - Portuguese (pt_PT) by Pedro Nave
    - Serbo-Croatian (sr_RS) by [Borisa Djuraskovic](http://www.webhostinghub.com/)
    - Slovak (sk_SK) by Serg
    - Spanish (es_ES) by Eduardo Larequi

### Privacy Policy

Dynamic Widgets does not collect any private data, nor does it send any private 
data to remote servers. Please be aware that widgets might do. Dynamic Widgets does
not read, write or alter contents or functionality of a widget it self, so this 
is beyond the scope and control of Dynamic Widgets.

## Screenshots

[⌊Widgets overview page⌉⌊Widgets overview page⌉[

Widgets overview page

[⌊Widget Options page⌉⌊Widget Options page⌉[

Widget Options page

[⌊Widget with Dynamic Widgets info and link⌉⌊Widget with Dynamic Widgets info and
link⌉[

Widget with Dynamic Widgets info and link

## Installation

Installation of this plugin is fairly easy:

 1. Unpack `dynamic-widgets.zip`
 2. Upload the whole directory and everything underneath to the `/wp-content/plugins/`
    directory.
 3. Activate the plugin through the ‘Plugins’ menu in WordPress.
 4. Visit the Dynamic Widgets Configuration page (settings link).
 5. Edit the desired widgets.

## FAQ

### What are the (system) requirements to use this plugin?

 1. A properly working WordPress site (doh!).
 2. Your theme must have at least one dynamic sidebar.
 3. Your theme must call `wp_head()`.
 4. Minimum of PHP version 5.2.7 is required. PHP 5.3 is highly recommended.

### I’m not sure if my theme is calling `wp_head()`. Can I check?

Yes, you can. In the Dynamic Widgets Overview page, click the ‘Advanced >’ link 
at the bottom. You should see if `wp_head()` is called in your theme. It is possible
that Dynamic Widgets can’t detect if the theme is calling `wp_head()`. Please contact
the author of the theme to ask for this. You can also, of course, just try Dynamic
Widgets to see if it works.

### Does the plugin work on a WordPress Network?

Yes, but only if you activate the plugin on a per site base. Network Activation 
is not supported.
 Extra note: It seems that sometimes for some reason DW does not
show up on individual sites within a WP Network without a network activation. You
can use [Multisite Plugin Manager](https://wordpress.org/extend/plugins/multisite-plugin-manager/)
to overcome this problem.

### I checked the “Make exception rule available to individual posts and tags” option, but nothing happens.

Did you save the options? If you did, you might try hitting the (i) icon over to
the right and read the text which appears below.

### What do you mean by logical AND / OR?

A logical AND means that ALL rules must be met before the action takes place.
 A
logical OR means that when ANY rule is met, the action takes place.

### According to the feature list I should be able to use a hierarchical structure in static pages, but I don’t see it. Where is it?

You probably have more than 500 pages. Building a tree with so many pages slows 
down the performance of the plugin dramatically. To prevent time-out errors, the
child-function has been automatically disabled. You can, however, raise this limit
by clicking on the ‘Advanced >’ link at the bottom of the Widgets Overview page 
and raise the number next to the Page limit box.

### The plugin slows down the loading of a page dramatically. Can you do something about it?

Try setting the plugin to the ‘OLD’ method. You can do this by clicking on the ‘
Advanced >’ link at the bottom of the Widgets Overview page and checking the box
next to ‘Use OLD method’. See if that helps. Setting the plugin to use the ‘OLD’
method comes with a downside, unfortunately. It may leave you with a visible empty
sidebar.

### I want to check if the ‘OLD’ method suits me better. Is there a way back if it doesn’t?

Yes! You can switch between the FILTER and OLD method without any loss of the widgets’
configuration whatsoever.

### I want the sidebar to be empty in Page X, but instead several widgets are shown in that sidebar. Am I doing something wrong?

Your theme probably uses a ‘default display widgets policy’. When a sidebar becomes
empty, the theme detects this and places widgets in it by default. The plugin can’t
do anything about that. Ask the theme creator how to fix this.

### I’m using WPEC 3.8 or higher and I don’t see the WPEC Categories option anymore. Where is it?

Since version 3.8, WPEC uses the WordPress provided Custom Post Types and Custom
Taxonomies. Dynamic Widgets supports Custom Post Types and Custom Taxonomies. You’ll
find the WPEC Categories under the ‘Categories (Products)’ section.

### You asked me to create a dump. How do I do that?

 * Click at the bottom of the Widgets Overview page on the ‘Advanced >’ link.
 * Now a ‘Create dump’ button appears a bit further below.
 * Click that button.
 * Save the text file.
 * Remember where you saved it.

### How do I completely remove Dynamic Widgets?

 * Click at the bottom of the Widgets Overview page on the ‘Advanced >’ link.
 * Now an ‘Uninstall’ button appears a bit further below.
 * Click that button.
 * Confirm you really want to uninstall the plugin. After the cleanup, the plugin
   is deactivated automatically.
 * Remove the ‘dynamic-widgets’ directory from inside the `/wp-content/plugins/`
   directory.

## Reviews

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

### 󠀁[It Worked!](https://wordpress.org/support/topic/it-worked-86/)󠁿

 [Rik0399](https://profiles.wordpress.org/rik0399/) 17 May 2024

Thank you for this great plugin! Okay, not the best in user design but the functionality
is amazing! I was in the middle of trying to work out some CSS with chatbot which
didn't work. This did! Great job and again, thank you guys!

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

### 󠀁[Facile à utiliser et efficace](https://wordpress.org/support/topic/facile-a-utiliser-et-efficace-2/)󠁿

 [aralar](https://profiles.wordpress.org/aralar/) 15 July 2021

Très facile à utiliser et extrêmement efficace. Fonctionne très bien avec les toutes
dernières versions de WordPress. Je la recommande sans la moindre hésitation.

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

### 󠀁[Did the job!](https://wordpress.org/support/topic/did-the-job-44/)󠁿

 [bufus](https://profiles.wordpress.org/bufus/) 27 January 2020

I rate it 5* because, although it can definitely improve, it does the job very well,
and remains free while doing so. Keep it up!

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

### 󠀁[Not working on WordPress Network 5.3](https://wordpress.org/support/topic/not-working-on-wordpress-network-5-3/)󠁿

 [Almino Melo](https://profiles.wordpress.org/alminomelo/) 27 November 2019 1 reply

Simply show an error message and tell to reinstall.

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

### 󠀁[Very useful](https://wordpress.org/support/topic/very-useful-2017/)󠁿

 [VasudevaServerRus](https://profiles.wordpress.org/vasudevaserverrus/) 12 December
2019

Very useful plugin. Thanks!

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

### 󠀁[My dream come true](https://wordpress.org/support/topic/my-dream-come-true/)󠁿

 [stanoam](https://profiles.wordpress.org/stanoam/) 15 November 2018

Finally a widget display plugin that can actually be used on ALL pages. Needed something
to control the sidebar menus of a Woocommerce site and this did the trick. I feel
stupid for wasting my entire afternoon the previous day, trying to set with PHP 
something that is easily fixed with this plug in. Thank you, thank you, thank you.

 [ Read all 109 reviews ](https://wordpress.org/support/plugin/dynamic-widgets/reviews/)

## Contributors and Developers

“Dynamic Widgets” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Kalmang ](https://profiles.wordpress.org/kalmang/)
 *   [ VivWebs ](https://profiles.wordpress.org/vivwebs/)
 *   [ Qurl ](https://profiles.wordpress.org/qurl/)

“Dynamic Widgets” has been translated into 7 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/dynamic-widgets/contributors)
for their contributions.

[Translate “Dynamic Widgets” into your language.](https://translate.wordpress.org/projects/wp-plugins/dynamic-widgets)

### Interested in development?

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

## Change Log

#### Version 1.6.6

 * Fixed domain condition

#### Version 1.6.5

 * Fixed several Cross-Site Request Forgery bugs

#### Version 1.6.4

 * Reduced number of tags
 * Removed @version $Id

#### Version 1.6.3

 * Fixed “dynamic property” error
 * Fixed “Fatal error: Uncaught TypeError”

#### Version 1.6

 * Several bugfixes including XSS vulnerability
 * Fixed typos throughout UI

#### Version 1.5.16

 * Bugfix for Parameter must be an array or an object that implements Countable 
   in dynwid_worker.php on line 526 when using PHP > 7.3

#### Version 1.5.15

 * Bugfix for Pages childs not being saved anymore and als going into opposite direction.
   Thanks to @sovabarmak for debugging and fixing!

#### Version 1.5.14

 * Bugfix for a problem introduced in WordPress 5 when using the Pages module. Kudo’s
   to @fjaeker for doing debugging for this!

#### Version 1.5.13

 * Widened the database fields
 * Added domain name / servername support

#### Version 1.5.12

 * Added conditional check for client IP address (handy when using CLI).
 * Added support for featured image
 * (Temporary) removed QTranslate and all its forks support because of code clashes.

#### Version 1.5.11

 * Added Shortcode matching support by request of Nathan Wright of NW Consulting,
   who made a financial contribution to make this feature possible.
 * Fixed a possible vulnerability in the DW settings found by Mike Esptein

#### Version 1.5.10

 * Added Japanese language file (locale: ja) – Arigato chacomv!
 * Added security preventing calling scripts creatively
 * Added detection of QTranslate-X

#### Version 1.5.9

 * Added support for IP range
 * Bugfix for URL and Pages module that does not show the green checkmark or the
   settings made
 * Bugfix for Single Post Category is saved incorrectly
 * Bugfix for Strict Warning notice in author_module.php at line 42

## Meta

 *  Version **1.6.6**
 *  Last updated **8 months ago**
 *  Active installations **10,000+**
 *  WordPress version ** 3.0.0 or higher **
 *  Tested up to **6.9.10**
 *  PHP version ** 5.2.7 or higher **
 *  Languages
 * [Dutch](https://nl.wordpress.org/plugins/dynamic-widgets/), [English (UK)](https://en-gb.wordpress.org/plugins/dynamic-widgets/),
   [English (US)](https://wordpress.org/plugins/dynamic-widgets/), [Hungarian](https://hu.wordpress.org/plugins/dynamic-widgets/),
   [Japanese](https://ja.wordpress.org/plugins/dynamic-widgets/), [Russian](https://ru.wordpress.org/plugins/dynamic-widgets/),
   [Spanish (Chile)](https://cl.wordpress.org/plugins/dynamic-widgets/) and [Spanish (Spain)](https://es.wordpress.org/plugins/dynamic-widgets/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/dynamic-widgets)
 * Tags
 * [condition](https://en-gb.wordpress.org/plugins/tags/condition/)[Dynamic](https://en-gb.wordpress.org/plugins/tags/dynamic/)
   [logic](https://en-gb.wordpress.org/plugins/tags/logic/)[rules](https://en-gb.wordpress.org/plugins/tags/rules/)
   [widget](https://en-gb.wordpress.org/plugins/tags/widget/)
 *  [Advanced View](https://en-gb.wordpress.org/plugins/dynamic-widgets/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  97 5-star reviews     ](https://wordpress.org/support/plugin/dynamic-widgets/reviews/?filter=5)
 *  [  4 4-star reviews     ](https://wordpress.org/support/plugin/dynamic-widgets/reviews/?filter=4)
 *  [  2 3-star reviews     ](https://wordpress.org/support/plugin/dynamic-widgets/reviews/?filter=3)
 *  [  2 2-star reviews     ](https://wordpress.org/support/plugin/dynamic-widgets/reviews/?filter=2)
 *  [  4 1-star reviews     ](https://wordpress.org/support/plugin/dynamic-widgets/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/dynamic-widgets/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/dynamic-widgets/reviews/)

## Contributors

 *   [ Kalmang ](https://profiles.wordpress.org/kalmang/)
 *   [ VivWebs ](https://profiles.wordpress.org/vivwebs/)
 *   [ Qurl ](https://profiles.wordpress.org/qurl/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/dynamic-widgets/)