ok – i’m not going to count that as a bug. If i understand it’s a shortcoming of the general idea which is just as Justin describes.
to adapt your post title “Widget-logic doesn’t “deactivate” SIDEBARS on sidebars without widgets”
assuming that your CSS correctly responds to the absence of a sidebar – you still have to work out how to get the sidebar HTML to vanish entirely, which Widget Logic can’t do – as it depends on your theme. so if (for example) your category.php or index.php or whatever does a normal get_sidebar(); your sidebar.php might look typically something like
<ul id="sidebar"><?
if (function_exists('dynamic_sidebar')) dynamic_sidebar();
?></ul>
and widget logic only steps in at the dynamic_sidebar(); step. By which time you are already committed to the UL block, or something like that.
what you have to do is work out how to not get that called in the first place.
right now I can’t think of a sensible way for WL to step in and do that for you. Sorry.
You could change the call to get_sidebar(); so that it’s something like
if (is_category() && !is_category(Y))
get_sidebar();
in case it’s not obvvious, the crazy forum code changed my code there. that should just be a double ampersand in the if statement
OK thanks for the fast reply. I’ll give your work-around a go instead.
Thanks for a impossible-to-live-without plugin.
I don’t consider this a bug with the plugin, and I definitely don’t know if there’s a way to change it. I’ve been playing around with how to deactivate a specific sidebar though. You can see my notes here:
http://justintadlock.com/archives/2009/03/06/disable-widget-areas-without-touching-theme-templates
The theme in this case would automatically knock out the surrounding HTML if the sidebar wasn’t active, thus resulting in a full-width page.