Freaky Trigger’s WordPress Setup
Widget Logic
FT had a complex sidebar, but I decided to ‘widgetise’ it when Steve updated the theme in early 2008. To keep some of the special widgets appearing only when needed, I wrote a plugin to extend the functionality of widgets. Widget Logic allows widgets to appear or not depending on standard WP conditional tags, such as is_home() and is_single() and so on.
If you want to contact me about it you should address yourself to the WordPress org directory and perhaps post on the forum there. Or you can leave a comment here, below. PLEASE READ THE FAQ AND OTHER NOTES in the WordPress plugin directory first though.
If you find Widget Logic useful to you, then you could consider a small donation to Cancer Research UK – click ‘Donate’ on the widget over to the right there –>
VIDEO TUTORIAL! Popup or view on YouTube a screencast by Daryl Lozupone. Thanks to him.
Podcast Channels
Podcast Channels is a plugin that augments WP’s RSS feed with some extra elements, mostly in the ‘itunes’ namespace. It works with existing features of WP (auto-enclosures and the media library) to make a simple way to podcast, and allows different metadata in different RSS feeds – you can have as many channels as there are categories, tags, even blog authors.
Like a lot of people I found PodPress increasingly frustrating to use around WP2.6. I still see lots of people using it, but I found it was interfering with too many aspects of WP – wysiwyg editing, the media library, and so on. But there were only two things it did that I liked – show download stats, and allow multiple podcasts on a blog with their own rss and iTunes metadata. So i wrote a couple of plugins to target just those functions.
(I may release the stats plugin some day, but it’s nothing special, a bit clunky, and I really don’t want to support it.)
Freaky Trigger Theme
This was designed by Steve Mannion @ base58.com
Plugins FT uses
- Akismet by Automattic
- Cimy User Extra Fields by Marco Cimmino
- Contextual Related Posts by Ajay D'Souza
- Edit Comments by Andrew Sutherland
- FT Combo by Alan Trewartha
- Get Recent Comments by Krischan Jodies
- Google Custom Search Plugin by Aleem Bawany
- MediaElement.js - HTML5 Audio and Video by John Dyer
- More Fields by Henrik Melin, Kal Ström
- Organize Series by Darren Ethier
- Podcast Channels by Alan Trewartha
- Relocate upload by Alan Trewartha
- Revision Control by Dion Hulse
- SABRE by Didier Lorphelin
- Shadowbox JS by Matt Martz
- Shadowbox JS - Use Title from Image by Matt Martz
- Simple SQL admin by Alan Trewartha
- Track Media Items (TMI) by Alan Trewartha
- Widget Logic by Alan Trewartha
- WP-DBManager by Lester 'GaMerZ' Chan
- WP-Polls by Lester 'GaMerZ' Chan
- WP-Polls Widget by Lester 'GaMerZ' Chan
- WP-PostViews by Lester 'GaMerZ' Chan
- WP Google Analytics by Aaron D. Campbell
- WP Super Cache by Donncha O Caoimh
- WPtouch by Dale Mugford & Duane Storey (BraveNewCode Inc.)
wow, look at all of them. FT salutes you
admin in • 95,891 views

Hi, I want a widget to show up on a specific page. So i wrote is_page(‘About’). But it still shows up on every page. What am I missing?
Thanks!
I found something about wp_head(), that it would be necessary in the header of the theme. All true, i added it to the code, just before the /head-tag, and it all works fine now!
Awesome widget, thanks!
erro:
Fatal error: Cannot redeclare wl_charity() (previously declared in /home/travesse/public_html/wp-content/themes/columbia/functions/plugins/widget-logic/widget_logic.php:15) in /home/travesse/public_html/wp-content/plugins/widget-logic/widget_logic.php on line 19
I can’t say for sure, but your error indicates that your active theme ‘columbia’ appears to have bundled widget logic inside it – so activating WL separately is redundant and bound to cause conflicts.
must see about that bundling…
I would like posts that are in_category(‘x’) to show up on one specific page: is_page(‘y’). So in the Recent Posts widget I have entered widget logic that says: is_page(‘y’) && in_category(‘x’). And the widget does not show up. There is a post in that category. When I remove && in_category(‘x’) and only have is_page(‘y’), then the widget shows up only on that page and showing all recent posts. in_category(‘x’) by itself does not show any recent posts.
I must be missing something really simple, but cannot see it. I’d appreciate any direction.
Love the plugin!
WL is not able to filter the content of Recent Posts for you – that’s the basic misunderstanding. it is just able to show a widget or not depending on the logic you give it.
is_page(‘y’) && in_category(‘x’)
is not going to show anywhere because it will only show when you are showing page Y and a post in category X – which can’t be true at the same time. (at least i can’t think of a way)
With debugging on I get the error:
Notice: Undefined index: callback_wl_redirect in
“wordpress/wp-content/plugins/widget-logic/widget_logic.php on line 137″
No matter what theme I use
Upgrade you lazy mother fucker!
I am looking to find a way to possibly use your plugin to help me with pages I have missed. I have used your plugin on a lot of pages, but for all the pages I havent used it on, I wanted to use a widget to post something if that makes sense. Basically I want to know if there is a way to say “every page that doesnt have something in the sidebar, put this in there”. Is this possible?
This plugin is working except for the page with the articles. I’ve made static the home page and the page with the articles (in the admin/reading).
I can’t show a widget only for the page with the articles. I’ve tried with the id, the name … .
Have you any idea please ? Thanks a lot
Perhaps I have my head firmly planted where the sun don’t shine, but for the life of me I can’t get the Widget Logic plugin to show up on my site. I’ve trashed it and reloaded it. It shows up in my list of plugins as active. But nowhere does it appear in the dashboard or in plugins to drag and drop to a sidebar widget. I’m using the Platform Theme, but from what i can tell others with that them are using Widget Logic. Am I missing something in the way to access the plugin for use?
Hello, I try use the “Relocate Upload” and is not compatible with current WordPress Version. Will you release update for this plugin?
Thanks
Willy
Figured it out. The widget appears when you post the link itself, but I had another widget blocking it. Now I not only got it up and running correctly, I find it to be a dynomite widget for mixing up affiliate ads on my site. Check it out at http://www.endzonestore.com.
I have content in the primary widget showing on my home page and have used widget logic to show secondary widget content on other pages and not on the home page. However a part of the secondary widget is showing on the home page. I have used css to style both widgets.
Do you know what could be happening here?
Thanks, widget logic is simple used by all the people
Hello. Im using Widget Logic and the TEXT widget to load images in my sidebar. I am basing the widget loading off of categories:
in_category( array( ‘lofts-and-multi-family’,'retail’,'office’ ) )
The issue is, some posts contain more than one category, like ‘retail’ and ‘office’ for navigation. Since it has multiple categories, widget logic is loading multiple TEXT widgets on the page. How can tell Widget Logic to only load one (the first category would be best).
thanks for your help
Wow, pretty cool plugins you have there, so far I have only 5 plugins on your list that are installed in my WP blog, I think I’m gonna explore the rest of your list and see how it works, thanks a lot for this.
Widget logic made an ugly white bar appear on my site.
When scrolling it’s particularly noticeable.
I’ve had your plugin installed for over a year. I have not added or deleted any plugins. All I did was updated to wp 3.2.1 and now I am getting this error:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ‘)’ in /home/ckwebsys/public_html/wp-content/plugins/widget-logic/widget_logic.php(161) : eval()’d code on line 1
website is http://www.ckwebsystems.com
this is what is on line 157 – 161
// before we execute the condtional code, perhaps we want to wp_reset_query…
if ( !empty( $wl_options['widget_logic-options-wp_reset_query'] ) && ( $wl_options['widget_logic-options-wp_reset_query'] == ‘checked’ ) && empty( $wp_reset_query_is_done ) )
{ wp_reset_query(); $wp_reset_query_is_done=true;}
$wl_value=(eval($wl_value) && is_callable($callback));
it’s the eval’ing of your widget logic that’s throwing the error – perhaps a missing end bracket? definitely worth a look if you’ve changed the widget logic recently
This excellent website rocks !. I regularly discovered something new & unique listed here. I appreciate you for that data.
Great website. The posts are good and informative.
This plug-in is a godsend.I’m going to your donation link now!
newbie. i installed the widget to make sidebars not appear..
how do i so that?where do i go?
Hi
Thanks for the great plugin. However I have a question. I’m trying to put up a widget using conditional tags in a theme where I use custom post types. For some reason it doesn’t seem to work. I tried multiple combinations
Usually for category 33 I would use is_category(’33′). I tried is_video_category(’33′) (which is the custom post template) but that brings back a fatal error so it’s not that. Any ideas?
Thank you
Thanks for the plugins, I’ll add them to my lists.
thank you for the helpfull plugin;) i am using it for my blog gehaktballen maken
Not sure if this is an issue or not but when I use
!is_search() || !is_404()widgets appear on both Search and 404 pages. Though, if I use
!is_search() && !is_404()widgets do not appear on either of the 404 or Search pages. Weird, no?
no, not weird! that’s exactly right.
the first one, not search OR not 404, will ALWAYS be true on every page (will only be true if a page is both 404 and search!)
the second one, not search AND not 404, will only be true when the page is not a 404 and not a search.
Hello,
Please could you help me with something, as I find it quite confusion.
OK, so I don’t want a widget to appear in a certain category… I have done that successfully with the following:
!is_category(19)
But obviously that is only for the “category”… This does not apply to the “posts” within that category.
What would be the complete code to block the widget within both the category and every post in that particular category?
Thank you.
you are after a !’d variation on the “How do I get a widget to appear both on a category page and on single posts within that category?” in the FAQ
http://wordpress.org/extend/plugins/widget-logic/faq/
Hi Freaky Trigger,
I have widget logic running and love it, it works a treat. But I am stumped for a tag for the homepage. The home page dose not seem to have a name or tag, could you suggest a tag that will keep one of my widgets form showing on the homepage please?
Many thanks,
Simon.
@Simon Booton-Mander – use the following:
!is_front_page()
will show the targeted widget everywhere but the designated home page (or front page setting of the WP site).
hth.
I have a question. How to I target a page that I setup in wp to display my blog posts. I have a page for that and a specific page for my home page. I tried both is_post() and is_page() with the page id and the slug, neither of which seemed to work.
Thanks!
http://codex.wordpress.org/Conditional_Tags#The_Main_Page
I updated Widget Logic this morning and my site immediately started giving a 500 internal server error. Had to remove it manually. Site OK again now. Would love to use the plugin but it’s causing problems!
try again – it might have been a partial download or something. i’ve had about 5000 downloads (of the recent 0.51 update) so far, and most people are feeding back positively.
Hi I have the following show up on my sidebar:
Primary Sidebar Widget Area
This is the Primary Sidebar Widget Area. You can add content to this area by visiting your Widgets Panel and adding new widgets to this area.
I have the following formula on the widgets I don’t want appearing: !is_page( array ( ‘Find a Spa’, ‘Find a Class’, ‘Find Yoga’, ‘Get a Facial’, ‘Get a Massage’, ‘Editorial Calendar’, ‘Spas Near You’ ) )
Please advise what I should do to have the widgets not appear. Thank you.
The page: http://spadora.net/yoga/
by the sound of it no widgets are appearing. it is common for a theme to have default text when there are no widgets, and in this case the “This is the Primary Sidebar Widget Area…” text is that default text.
If you want rid of that text your options are to alter the theme or to make a single widget appear – one that might be minimal in content/appearance
I am having the same problem on my site. How do you alter the theme to get rid of that text especially if my text is not showing up there?
I’m perplexed. I’ve successfully used your great plugin up until now. No problems. I updated today and not only did all my widgets disappear (including those that were inactive and required editing) but all of my sidebars and new widget areas that I created. It’s not the theme (atahualpa). Is this an example of fixing something that (to me anyway) wasn’t broken? Please, what’s the solution?
BTW, I’m really not a php person, which is why your plugin is so great. It makes a great deal easier. I appreciate the fact that it’s free, but this really is not a complaint, it’s an observation. If I need to use code to correct the problem, doesn’t that defeat the purpose of the ease and simplicity of the plugin?
I think I’ve got it working now.
Hi
I’m trying to get the weather widget to only appear on the home page of my wordpress site http://moti.org/blog/
I have installed the widget logic plugin so that I can choose the pages that widgets appear on. This works just fine for all the other widgets except for the weather widget.
What happens is that when I fill in the widget logic box for the weather widget and press update the instruction just disappears. Consequently the meteo appears on every page with a sidebar which is not what I want. I think there must be a conflict or a bug somewhere.
Can you help with a simple solution?
Many thanks
Penelope
On the off chance that Braudis, looks back in, it would be great if you could sketch out what went wrong, in case anyone else sees something similar. It’s not something that the code update should have caused.
Penelope, i’d have to look at the widget you are using. If it’s http://wordpress.org/extend/plugins/weather-widget/ i’ll have a quick look soon
Hi – thanks for getting back to me
The weather widget is GoGadget Weather and Weatherforecast Widget.
I used this one because it comes in French and the weather underground forecast for Agen(our local town), France is always very accurate.
I am using an artisteer generated design for the site.
I installed the wigit logic widget and then the goGadgetweather widget and several others including text widgets to appear in the sidebar. Widget logic works for the others but not for the weather one.I fill in the options for the weather widget and then the logic box with
is_page(‘home’)
just like the others then when I press save it disappears – poouf!
I tried everything reinstalling, re-activating ticking and unticking the widget logic boxes at the bottom etc but nothing worked, however I have found a temporary solution.
Following the instructions in the GoGadget manual I activated a shortcode plugin for the weather widget and put it in a text widget. The widget logic code does work with text widgets so I was able to program it to only show on the home page. This is working for now, but it would be nice to have it working properly.
If you send me an e-mail I will send you the login so you can have a look for yourself.
Many thanks
Penelope