Let's say I'm doing a site about cars, and in the main content area of a Page (using a certain template), there are a few paragraphs about a particular car.

In the sidebar, are several standard widgets. But I also want a widget with an 'info panel' about the particular car.

So what's the sanest way of putting in a per-page widget in Wordpress? I guess ideally the info-panel could be entered via the standard page editing in Wordpress .. perhaps via the Custom Fields, so you could enter "Volvo" for the Manufacturer field and it would show up in the sidebar. (or is this something a plug-in already covers?)

4 Answers
4

You want the Widget Logic Plugin if you're going to use widgets to do this. However, as you have guessed, this is not the best way to do this. I think the best way to achieve what you want to do is to create a custom widget that accesses the posts information if it detects that it's on the correct page. Something like this:

If you stick that inside the normal widget structure, that would be pretty effective at creating a per-page widget that only appears if you're on a page and that page has the meta content relevant to the widget. At that point, you could just use the custom fields that WordPress already provides on the pages to input the custom content.

By the same token, rather than using $title, you could add another custom field for the widget title and echo that instead of $title. Or give the custom title precedence over the generic widget title.
–
John P BlochAug 24 '10 at 13:02

I can successfully control widget display with the Widget Contexts Plugin For WordPress. I like the way Semiologic Pro is doing it. It's a membership based plugin so no idea if that is what you're looking for: