Manage and replace sidebars and other widget areas on your site with Custom Sidebars, a flexible widget area manager.
Make custom sidebar configurations and be able to choose what widgets display on each page or post of your site.
Need to make a widget sticky or fixed? Try our free WP Sticky Anything plugin.
Custom Sidebars works ONLY with the classic widgets screen that was used in WordPress before version 5.8. If you want to use it with version 5.8 (and above) you have to install the official Classic Widgets plugin, or enable the classic widgets interface yourself. Once the classic widgets screen is activated the plugin will work the same as before.
Having problems setting up SSL or generating an SSL certificate? Install the free WP Force SSL plugin.
Display Different Sidebars on Pages and Posts
Custom Sidebars allows you to dynamically display custom widget configurations on any page, post, category, post type, or archive page.
“Custom Sidebars will go on my “essential plugins” list from now on. I am pleased by how easy it was to figure out and by how many options are available in the free version.” – monkeyhateclean
“This plugin does exactly what it says. It’s light, integrates well into WordPress and gives you tons of possibilities.” – DarkNova
Every part of Custom Sidebars integrates seamlessly with the Widgets menu for simplicity and control. No confusing settings pages or added menu items, just simple core integration.
A Simple Flexible Sidebar Manager
** Custom Sidebars Includes: **
* Unlimited custom widget configurations
* Set custom widgets for individual posts and pages, categories, post types, and archives
* Seamless integration with the WordPress Widgets menu
* Works with well-coded themes and doesn’t slow down your site
* Set individual widget visibility – for guests, by user role, by post type, for special pages or categories
* Author specific sidebars – display a custom sidebar for each of your authors
* Clone and sync widget settings – quickly edit complex configurations
* Import and export custom sidebars – backup and share sidebars
Install Custom Sidebars and see for yourself why it’s the most popular widget extension plugin available for WordPress with over 200,000 active installs.
Contact and Credits
Original development completed by Javier Marquez.
There are two ways of installing the plugin:
From the WordPress plugins page
- Download the plugin, extract the zip file.
- Upload the
custom-sidebarsfolder to your
- Active the plugin in the plugin menu panel in your administration area.
From inside your WordPress installation, in the plugin section.
- Search for custom sidebars plugin.
- Download it and then active it.
Once you have the plugin activated you will find all new features inside your “Widgets” screen! There you will be able to create and manage your own sidebars.
This plugin requires your theme to have widget areas enabled, if you don’t have widget areas enabled you probably need to use a different theme that does!
You have a sidebar box when editing a entry. Also you can define default sidebars for different posts and archives.
You can create all the sidebars you want, but you need some sidebars of your theme to be replaced by the ones that you have created. You have to select which sidebars from your theme are suitable to be replaced in the Custom Sidebars settings page and you will have them available to switch.
You are probably using a theme that doesn’t load dynamic sidebars properly or doesn’t use the wp_head() function in its header. The plugin replaces the sidebars inside that function, and many other plugins hook there, so it is more than recommended to use it.
Any user that can switch themes, can create sidebars. Switch_themes is the capability needed to manage widgets, so if you can’t edit widgets you can’t create custom sidebars. There are some plugins to give capabilities to the roles, so you can make your author be able to create the sidebars. Try User role editor
Can I use the plugin in commercial projects?
Custom Sidebars has the same license as WordPress, so you can use it wherever you want for free. Yay!
Contributors and Developers
“Custom Sidebars – Dynamic Sidebar Widget Area Manager” is open source software. The following people have contributed to this plugin.Contributors
“Custom Sidebars – Dynamic Sidebar Widget Area Manager” has been translated into 10 locales. Thank you to the translators for their contributions.
Translate “Custom Sidebars – Dynamic Sidebar Widget Area Manager” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- Minor security fixes
- Improved the classic widgets screen detection – “Classic Widgets” plugin is no longer necessary if you add appropriate filters via some other plugin or theme
- Added notice for WP 5.8
- Minor fixes
- Added action link to plugins table
- Minor fixes
- WebFactory took over development
- Added deprecation notice
- Added “custom_sidebars_allowed_pages_array” filter to allow pages where Custom Sidebars can be loaded.
- Fixed problem with double function declaration when Gutenberg is in use.
- Removed “Sidebar Location” from build-in/theme sidebars to avoid misunderstandings.
- Updated “WPMU Dev code library” to version 3.1.0.
- Fixed an unclosed A tag.
- Fixed a problem with sidebar replacement on front page.
- Added ability show/hide widgets depend on screen size, using CSS media queries.
- Added integration with “WP Multilang” – now you can choose a sidebar to depend on “WP Multilang” language.
- Allow using categories and tags for pages.
- Improved plugin initialization now, plugin classes are loaded only on necessary admin pages.
- Improved UX for Custom Sidebars Metabox on special pages: “Front Page”, “Blog Page” and “WooCommerce Shop Page”.
- Updated “WPMU Dev code library” to version 3.0.9.
- Fixed an export problem on PHP 5.2, json_encode() have only one parameter.
- Fixed a problem with saving an entry sidebars replacement.
- Added ability to allow change sidebars by an entry author.
- Fixed a problem with widgets display on IE11.
- Handle custom taxonomies.
- Updated “WPMU Dev code library” to version 3.0.6.
- Added version to scripts, to avoid browser cache problem.
- Fixed problems with widgets alignment on mobiles.
- Improved custom sidebar edit modal, now it remembers “Advanced Edit” status.
- Added integration with Polylang – now you can choose sidebar depend on Polylang language.
- Added integration with WPML – now you can choose sidebar depend on WPML language.
- Added check to avoid warnings when user delete term which is assigned to “Sidebar Location”.
- Updated “WPMU Dev code library” to version 3.0.5.
- Improved assets directories.
- Improved widgets on very small screens.
- Fixed bulk edit problem with resetting sidebars.
- Fixed few notices on import screen.
- Added a quick and a bulk edit to custom post types.
- Added nonce check for set location, import & export actions to avoid CSRF vulnerability.
- Fixed a problem with getting sidebars settings for nested pages with more than 2 levels.
- Fixed a problem with widget visibility on taxonomy archive page.
- Fixed a typo on Import/Export screen.
- Added ability to turn off “Custom Sidebars” for certain roles.
- Fixed a problem with a category, category archive, and post in category replacement.
- Fixed a problem with removed “Category Archive” from “For Archives” options.
- Fixed build in taxonomies problem on “Sidebar Location” edit window.
- Fixed CSRF vulnerability. Props for qasuar.
- Added bulk sidebars edit.
- Fixed category archive and entry in category replaceable.
- Visibility of “Custom Explain” link is limited only to front-end.
- Fixed visibility of Custom Explain – now it is visible only for administrators.
- Added ability to replace sidebars for category archive.
- Added ability to replace sidebars for custom taxonomy archive.
- Added ability to turn on Custom Sidebars Explain mode from Admin Bar.
- Fixed a replacement problem on 404 pages.
- Improved “Sidebar Location” popup – added a message when we do not have any replaceable sidebar.
- Refactored “Column Sidebars” on post list screen.
- Added width to “Custom Sidebars” column on entries list screen to avoid uncontrolled column width.
- Added ability to add new sidebar using the only keyboard, after you fill name just push enter to move to the description field. Hit enter on description field to add a new sidebar.
- Fixed “WPMUDEV Frash” message for pro version.
- Improved columns display on post list screen – now “Custom Sidebars” column is hidden by default.
- Prevent to load assets on front-end.
- Updated “WPMU Dev code library” to version 3.0.4.
- Fixed a CSS glitch on media library.
- Fixed a problem with taxonomies.
- Improved “Create a custom sidebar to get started.” box.
- Upgraded “WPMU Dev code library” to version 3.0.3.
- Fixed a problem with empty taxonomies, now we can see all taxonomies, including empty.
- Fixed fetching posts.
- Fixed a problem on the Customizer page – removed clone option.
- Fixed Widgets Screen for Right to Left languages.
- Removed WP Checkup banner.
- Fixed compatibility issue with uBlock Origin and AdBlock Plus.
- Fixed getting started box not appearing.
- Added the “Create custom sidebar to get started.” box.
- Fixed a problem with the link to disable accessibility mode.
- Fixed UX problem with “plus” icon on visibility options.
- Show advertising for “WP Checkup” in the whole admin area.
- Fixed a problem with
wp_enqueue_script()which was called too early.
- Fixed a problem with advertising, which should stay close when you close it.
- Fixed a conflicting with other plugins.
- Improved functionality, free and pro versions have now the same functionality. The only difference is that the free version includes ads.
- Fixed a problem with empty selectors.
- Remove unnecessary HTTP header – it is only needed when we run cs-explains.
- Update Dash notice.
- Fixed export problem, when two or more widget has the same name.
- Fixed problem with import widgets created before Custom Sidebars plugin was installed.
- Fixed problem with sidebars on Front Page.
- Added support and widgets links on the plugins page.
- Fixed export problem, when two or more widget has the same name.
- Fixed few “Undefined index” warnings.
- Improved import preview screen.
- Improved RTL languages on widgets screen.
- Rollback last change with front page.
- Fixed a bug when we try to use to get property of non-object in “maybe_display_widget()”.
- If front page is a page, then we have now the same rules like we have on on page.
- Added new filter “cs_replace_post_type” to filter post type inside function “determine_replacement()”.
- Fixed problem with sorting and filtering.
- Added check if there the function
- Sidebars are now sorted by name.
- Fixed a problem with unclickable items on widgets admin screen.
- Fixed undefined index in Sidebars Editor.
- Fixed issue with broken link icon for cloned widgets.
- Update third party libraries.
- Small improvements in code.
- Fix missing text-domain in translation.
- Fix incompatibility with PopUp plugin.
- Close possible security hole (XSS vulnerability).
- Fix incompatibility with PopUp plugin.
- Fixed: Sidebars could not be created on certain webserver setups.
- Fixed: Minified CSS files included now.
- Better: Add context-guide how to changes settings for static front-page.
- New: Assign a Sidebar to 404 pages via the Sidebar Location dialog.
- Fixed: In some browsers the “Add sidebar” popup was partially hidden.
- Fixed: Sometimes the dropdown list of a multiselect list stayed open.
- Fixed: Plugin now correctly loads the .po files to translate to other languages.
- Some other small improvements.
- Fixed: For some users the plugin was not loading anymore after updating to 188.8.131.52.
- Fixed: Z-index issue in Dashboard where wide widgets where covered by the main-menu.
- Fixed: Added compatibility for static front-page sidebars with version 2.0.9.
- Fixed: Sidebar Locations “Front Page” and “Post Index” now work correctly.
- Fixed: Sidebars now support unicode-text in name/description.
- Minor: New debugging output that explains why a sidebar/widget is displayed.
- Fixed: Fixed issue with WP sidebar chooser right after creating a new sidebar.
- Fixed: Fixed various issues when flagging a sidebar s replaceable.
- Fixed: Plugin will not load in accessibility mode but display a notice instead.
- Minor fix: Make code compatible with PHP 5.2.4.
- Minor fix: Slight improvement of AJAX stability.
- Minor fix: Plugin now requires capability “edit_theme_options”.
- Fixed: Fixed issue with settings not being saved correctly.
- Fixed: Fixed issue with some people losing some sidebar settings after update.
- Minor fix: Refactor function name to avoid misunderstandings.
- Fixed: Meta box in post editor did show missing sidebars (e.g. after switching the theme).
- Fixed: PHP warning about strict standards.
- Fixed: Dashboard notification is now removed when clicking “dismiss”.
- PHP 5.2 compatibility layer.
- Complete UI redesign!
- Many small bugfixes.
- Added: WordPress filter “cs_sidebar_params” is called before a custom sidebar is registered.
- Added: Add setting “CUSTOM_SIDEBAR_DISABLE_METABOXES” in wp-config.php to remove custom-sidebar meta boxes.
- Added: Custom sidebars now works with BuddyPress pages.
- Fixed: Individual post sidebar selection when default sidebars for single posts are defined.
- Fixed: Category sidebars sorting.
- Added: WP 3.8 new admin design (MP6) support.
- Fixed: Absolute paths that leaded to the outdated browser error.
- Fixed: Stripped slashes for the pre/post widget/title fields.
- Fixed: A lot of warnings with the PHP debug mode on.
- Improved: Styles to make them compatible with WP 3.6.
- Fixed: Creation of sidebars from the custom sidebars option.
- Fixed: Missing loading icons in the admin area.
- Removed: Donate banner. Thanks to the ones that have be supporting Custom Sidebar so far.
- Fixed: Searches with no results shows default sidebar.
- Added: RTL support (thanks to Dvir http://foxy.co.il/blog/).
- Improved: Minor enhancements in the interface to adapt it to WordPress 3.x.
- Fixed: Slashes are added to the attributes of before and after title/widget.
- Fixed: Where lightbox not showing for everybody (Thanks to Robert Utnehmer).
- Added: Default sidebar for search results pages.
- Added: Default sidebar for date archives.
- Added: Default sidebar for Uncategorised posts.
- Fixed: Special characters make sidebars undeletable.
- Added: Child/parent pages support.
- Improved interface to handle hundreds of sidebars easily.
- Added: Ajax support for creating an editing sidebars from the widget page.
- Fixed: Problems with Spanish translation.
- Fixed: Some CSS issues with WordPress 3.3.
- Fixed: You can assign sidebars to your pages again.
- Fixed: Category hierarchy is now handled properly by the custom sidebars plugin.
- Added: Sidebars can be set for every custom post type post individually.
- Improved the way it replace the sidebars.
- Improved some text and messages in the back-end.
- Fixed: Now the plugin works with themes like Thesis that don’t use the the_header hook. Changed the hook where execute the replacement code to wp_head.
- Fixed: When a second sidebar is replaced with the originally first sidebar, it is replaced by the first sidebar replacement instead.
- Fixed: Bulk and Quick editing posts and pages reset their custom sidebars.
- Changed capability needed to switch_themes, and improved capability management.
- New interface, more user friendly.
- Added the possibility of customise the main blog page sidebars.
- Added the sidebars by category, so now you can personalise all the post that belongs to a category easily in a hierarchical way.
- Added the possibility of customise the authors page sidebars.
- Added the possibility of customise the tags page sidebars.
- Added, now it is possible to edit the sidebars names, as well as the pre-widget, post-widget, pre-title, post-title for a sidebar.
- Added the possibility of customise the sidebars of posts list by category or post-type.
- Fixed a bug that didn’t allow to create new bars when every previous bars were deleted.
- Fixed a bug introduced in v0.4 that did not allow to assign bars per post-types properly.
- Added an option to remove all the Custom Sidebars data from the database easily.
- Empty sidebars will now be shown as empty, instead of displaying the theme’s default sidebar.
- PHP 4 Compatible (Thanks to Kay Larmer).
- Fixed a bug introduced in v0.2 that did not allow to save the replaceable bars options.
- Improved security by adding wp_nonces to the forms.
- Added the pt-widget post type to the ignored post types.
- Improved i18n files.
- Fixed screenshots for documentation.
- Initial release.