Gives you the ability to configure Wordpress widgets on a per page basis.
XWidgets lets you choose your widget layouts and settings for each individual page and post, instead of only having one layout applied to the whole site!** For example, you could have a Twitter feed in your website's sidebar, but have your 'about me' page also display Flickr/Last.FM widgets in that page's sidebar, with a completely different widget layout from the rest of your site -- or you could have each page of your site pull in a different Google News feed via RSS -- or you could add a poll to the sidebar of a specific post, without changing any others.
This plugin was developed alongside the PBox plugin. Using the two together greatly simplifies CMS-like layouts and functionality.
- Choose widget settings from each indivdual page/post edit screen.
- Pages can inherit widgets from their parent.
- Pages/posts without widgets can use the global widgets (or if you prefer, none at all).
- Use the PBox plugin to add highly customizable content widgets to your page sidebars.
- Visit Smashing Magazine - Advanced Power Tips For WordPress Template Developers for ideas about Multiple Column Content Techniques.
- Add widgets to taxonomies (Categories, Tags...)
- Improve support for customized post types.
- Upload the xwidgets folder to the /wp-content/plugins/ directory.
- Apply the minor core patch to /wp-includes/functions.php. See the patch file in the downloaded archive.
- Activate XWidgets through the 'Plugins' menu in WordPress.
That's it! (Make sure you're using a theme with Widget support, of course.)
Frequently Asked Questions
How do I get pages/posts to use the global widgets?
Make sure the page/post in question has no widgets set. Then, go to the XWidgets Settings page (via the Settings Menu) and Select Use global widgets - When no widgets on page.
How does this work under the hood?
We're using the postmeta and options tables to save the widget settings. We haven't added any tables or columns anywhere. We intercept calls to sidebars_widgets and widget option lookups, and tell them to use the settings stored in postmeta instead of the option table.