Freaky Trigger’s WordPress Setup

Widget Logic

FT had a complex sidebar so after ‘widgets’ were introduced to WP and Steve updated the FT theme in early 2008, I wrote a plugin to extend the functionality of widgets and make them appear as we preferred, rather than be a static sidebar throughout the site. Widget Logic allows widgets to appear or not depending on standard WP conditional tags, such as is_home() and is_single() and so on.

For support you should address yourself to the WordPress org directory and perhaps post on the forum there where it is supported by another developer now. You can leave a comment here too if you like though.

While I supported it, the plugin directed people to a Just Giving page and we ended up raising £1088 for Cancer Research UK which was nice.

Podcast Channels

Podcast Channels augments WP’s basic 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.

I’ve not updated in years – and we’ve not updated a podcast in years!

Freaky Trigger Theme

This was designed by Steve Mannion @


  1. 1
    Printer on 10 Apr 2008 #

    Hi Steve. Widget Logic looks like a really nice plugin, Will there be an update for WP 2.5? It seems I get an error (in firebug), and no input fieds in my widgets.

  2. 2
    Alan on 11 Apr 2008 #

    Hi, I am trying to get a 2.5 version working. A bit of me thinks it might not be worth it, as 2.5 allows you to define many more sidebars and configure them in an elegant interface.

    BUT to keep FT going and get us on to 2.5 I will get it working asap. (we’re on a patched version of 2.3)

    however until podPress updates to working ok with 2.5 i’m not exactly hurrying.

  3. 3
    Paul Walker on 15 Apr 2008 #

    Just another person chiming in, hoping for a 2.5 compatible update to widget logic. It’s a great plugin…

  4. 4
    Luis Enrique on 27 Apr 2008 #

    Hey, i’m another one. I hope the widget logic works with wordpress 2.5 version. Please. Is a great pluggin.
    The features of WordPress 2.5 sidebars never will be good than the excelent Widget Logic features.
    And you have the only one plugin that can do this, i been searching and i don’t find anything like widget logic.

  5. 5
    admin on 27 Apr 2008 #

    if you check the official site you’ll see i did update the code to be 2.5 compatible

  6. 6
    zhrance on 30 Apr 2008 #

    Hi there FT, I am wondering what kinda plug-in do you use to get those great highlights in top of your webpage? (europop, poptimism, slugs on the radio) Let me know! :)

  7. 7
    admin on 30 Apr 2008 #

    the 3 lozenges at the top (europop, poptimims and slugs) don’t highlight tho? they’re just 3 DIVs in the HTML with an onclick:

    <div id=’head_europop’ onclick=”location.href=’/europop2008/'” title=”Europop 2008″>16 nations, your votes, EXPECT EMO</div>

    and the position and appearance are set in CSS. the HTML (defined in our themes header.php file) and the CSS (in the theme’s style.css file) are tailor made for FT – no plugin. sorry.

  8. 8
    zhrance on 1 May 2008 #

    Tnx for your fast reply. so it’s just html/css… not dynamic?

  9. 9
    admin on 1 May 2008 #

    what is there that you think IS dynamic? the images don’t change. there’s not even a simple roll-over effect on those items.

    the category bar (music/tv/games etc) and the functions (random/login etc) now those have some dynamicness that’s done with JS. but again no plugin – custom made code to fit with the theme design.

  10. 10
    baron on 10 May 2008 #

    hi. Thanks for plugin



  11. 11
    ovidiu on 15 May 2008 #

    can you help me out with a little logic ;-)

    I want a certain widget to be only displayed if its not on a certain page, something like is_not_page(‘551’) but I do not know how to write that condition :-(

  12. 12
    admin on 15 May 2008 #


    i think should do it

  13. 13
    ovidiu on 20 May 2008 #

    thx that worked.
    now I have a compatibility problem.

    I have 2 sidebars, with both showing on the homepage but only one on all other pages. So I need to use your plugin, to make 2 widgets from sidebar 1 to disappear on the homepage and appear on sidebar 2.

    I tried !is_home() for both widgets, but as soon as I save,both conditions disappear. It seems to work fine if I only use this condition on one widget, but as soon as I use this condition ob two widgets, liek I said, the conditions both disappear…

    any clue what could be wrong? did you test your plugin in a similar situation?

    can you try and use !is_home() on two widgets, and the nsave and see if that works for you?

  14. 14
    Alan on 20 May 2008 #

    (in case you check back, i did reply on the wordpress org forums for you. sorry our server went wobbly when you posted that)

  15. 15
    Michelle on 25 May 2008 #

    Hello, I just wanted to thank you for this plugin. I was at my wits’ end trying to wrangle different sidebars for different parts of my site into order, and this has made everything work like a dream!

  16. 16
    Fil on 25 May 2008 #

    thank you so much for this incredible plugin!
    I’d like to use it on my website but i have a problem: when i activate the plugin i receive some errors instead the sidebar like this:

    Warning: Illegal offset type in /web/htdocs/ on line 126

    reporting errors in line 126 and 129.
    Do you have idea why it happens?

    Thank you!

  17. 17
    Alan on 26 May 2008 #

    Looks like you are using a widget that doesn’t play by what i think the rules of widgets are! What widget plugins are you using?

    You could also try deactivating each of the widget plugins in turn to see if the problem goes away, then let me know which one causes the problem, and i’ll see what i can do to code around it.

  18. 18
    fab on 15 Jun 2008 #

    Hi Alan,
    thanks for your plugin. I want to use it because of the ttftitle thing, but I don’t know how to use it in this case. What code I have to add in my function.php or elsewhere to display the images?

  19. 19
    Alan on 15 Jun 2008 #

    There’s code on the other notes page of the plugin page on

    use that code, along with an add_filter like it explains, in your themes functions.php and that should do you.

  20. 20
    Brent Brigner on 18 Jun 2008 #

    I would love to download your Widget and could you email me the download do you have to pay for it? do you have a 30day free trial?I do not have any assets right now and I am brand new at blogs and I would love more information on your Widget. Thank You for creating this-I sure would love to try it out.
    Thank You Brent & Jeannie

  21. 21
    Alan on 19 Jun 2008 #

    Follow the WordPress org directory link in the post above – they host the download.

  22. 22
    Seth on 21 Jun 2008 #

    I’m getting the same warning that Fil did above:

    Warning: Illegal offset type in /home/ioventur/public_html/wp-content/plugins/widget-logic/widget_logic.php on line 126

    Warning: Illegal offset type in /home/ioventur/public_html/wp-content/plugins/widget-logic/widget_logic.php on line 129

    I deactivated all widget plugins and it didn’t fix it but it did work once I changed my WP theme. The them that I was using was semiologic.

    Not sure exactly what the issue is with semiologic and your plugin.

    Thanks for any feedback.

  23. 23
    Alan on 21 Jun 2008 #

    I just tried out the semiologic theme (from here and it doesn’t work with WP2.5 very well even without widget logic – when you edit widgets it comes back with messy intermediate pages instead of the proper admin interface. Is there a 2.5 update?

    having said that i activated widget logic and i didn’t get your error right away, so it’s not as simple as Wp2.5 + SL theme + WL plugin = error. :-/ any more info gratefully received.

    theSL theme is quite complex and does do a lot of custom things to widgets: killing off WP’s built in widgets! and adding a ‘context’ option – a bit like what WL tries to do, and in a similar manner, but in a pre-2.5 manner.


    Look in semiologic/admin/widgets.php file, find “add_action(‘init’, ‘sem_widget_controls_init’);” and comment it out with a “#” at the start of the line. It looks like this deactivates semilogic theme’s “widget context” controls and stops clashing with widget-logic.

    It might disable other things – i just don’t have the time to check. But let me know how you get on.

  24. 24
    Max on 1 Jul 2008 #

    Very useful information. Thanks!!

  25. 25

    great plug in ideas Alan! I’m always looking for ways to facilitate networking with like-minded individuals. I especially appreciate unique tools that help me harness the power of web 2.0 and social bookmarking sites so I can make good use of my time. There’s nothing worse than spending countless hours online to build your online presence, while losing valuable time that you could be spending with your friends and family. Luckily, I’ve found tons of useful tools to meet like-minded individuals and network super efficiently. In this age of user generated content driving up a website’s ranking, content is king and getting that content in front of the right people is the name of the game! Keep up the great blog.

    Ana Hernandez, CEO

  26. 26
    STS on 9 Jul 2008 #

    great plug-in! Can you help me?
    I try to hide the Categories Widget just from one page (id172)and show it on all other pages of the website.
    What is the code?
    Thanks !

  27. 27
    Alan on 9 Jul 2008 #

    look at the examples on

  28. 28
    hershal on 21 Jul 2008 #

    I was wondering how to get a widget to appear on multiple pages by indicating which specific page id’s i want the widget to appear on. how is this done?

  29. 29
    Philix on 24 Jul 2008 #

    This is a great plug in :)

  30. 30
    Alan on 24 Jul 2008 #

    @ hershal

    you could use PHP’s logical OR operators like this

    is_page(‘about-me’) || is_page(’42’) || is_page(‘About Me And Joe’)

    or if you read you’ll see you can do the slightly more PHP-savvy but simpler

    is_page(array(42,’about-me’,’About Me And Joe’))

  31. 31
    Mieke Janssens on 31 Oct 2008 #

    This is one of the most useful plugins installed on my blogs. :-D

    I have just one question:
    How can I exclude just one page and show the widget on all other pages (home, single, page)?

    I have looked at the examples on the suggested WP site, but still don’t have a clue what code to add to the widget logic box.

    Can you please help me out?


  32. 32
    admin on 31 Oct 2008 #

    add a ! on the front, which means NOT in PHP


    etc. i will add this to the plugins FAQ on the wordpress plugins site

  33. 33
    Robert Griffin on 6 Nov 2008 #


    Love the widget Logic plug-in. Quick question though. I have been having problems with the speed of my site. I want to blame the host, they want to blame my plug-ins (I did go crazy with plug-ins when I started building my site). Since my site is so dynamic, at least the sidebar, I really can’t use a cache, or at least I don’t know how to use it with my sidebar and your plug-in.

    So 2 questions:
    1. Do conditional tags slow down the page loading by making additional calls to the database, or are conditional tags just reading the data que from the last query?

    2. Do you no of a way to be able to use your plug-in and WP Cache. WP Super Cache I don’t believe will help me since most of my users log in when they visit.


  34. 34
    Alan on 6 Nov 2008 #

    1 – i don’t believe so, no. if you look in wp-includes/query.php you’ll see a lot of the conditional tags code there. and they all do fairly simple manipulations of already established query results. is_home for instance is just

    global $wp_query; return $wp_query->is_home;

    and so on

    2 – the plugin doesn’t have any problem working with wp cache. unless you are using conditional tags that will produce different results over time.

  35. 35
    Thomas Clausen on 23 Nov 2008 #

    This looks like a fantastic plugin, can’t wait to try it out. It looks a bit like Ozh who sees ads, but your plugin seems more easy to use.

    Thanks a bunch.

  36. 36
    Tyrone on 6 Dec 2008 #

    Hi there, is there a way to make a text/html widget on my blog appear only to me (as an admin) or to (logged in users) using this plugin?

  37. 37
    Alan on 6 Dec 2008 #

    You can use the current_user_can(‘capability’) function, like this guy did:

  38. 38
    matt on 16 Dec 2008 #

    Is this working on 2.7? I keep getting an error when I update anything site wide.
    Warning: Cannot modify header information – headers already sent by (output started at /home/gvegason/public_html/krah/wp-content/themes/fresh-editorial/functions.php:15) in /home/gvegason/public_html/krah/wp-includes/pluggable.php on line 850

  39. 39
    admin on 16 Dec 2008 #

    it’s working on my 2.7 install yes. what happens when you switch to the standard theme? as it looks like something in the functions.php of your “fresh-editorial” theme is where the problem starts

  40. 40
    Lesson Plans for Life on 23 Dec 2008 #

    This is exactly what I was looking for, but am having some slight issues. If I do is_category(‘fun’) the widget shows up when visiting page http://mydomain/category/fun/ but doesn’t show up on post in the category with urls http://mydomain/fun/post1

    Please help.


  41. 41
    admin on 23 Dec 2008 #

    you want to use is_category for category pages and in_category for posts that are in specified categories

    the pages at WP, specifically are very useful on points like this

  42. 42
    Lesson Plans for Life on 23 Dec 2008 #

    Thanks for your reply! I should have done a little more research before asking.

  43. 43
    Andy on 27 Dec 2008 #

    Hi-Thanks for all the useful information and the plugin–Andy

  44. 44
    Chanty on 27 Dec 2008 #

    Hi Alan,

    I’m trying to get this to work with TTFTitles, but I keep getting errors. Since I’m still pretty much a n00b at php, could you help me out? I copied and pasted the codes (add_filter and the function) in my theme’s functions.php file, but I keep getting ‘unexpected’ errors. Here’s my code:

    add_filter('the_ttftext', 'ttftext_widget_title', [priority], 2);

    function ttftext_widget_title($content='', $widget_id='')
    { preg_match("/]*>([^<]+)/",$content, $matches))
    $insert_img=the_ttftext( $heading, false );
    return $content;

    Thanks in advance :)

  45. 45
    Chanty on 27 Dec 2008 #

    Oh never mind, I fixed it myself :) There seemed to be an error in the filter for ttftitles, here’s the fixed version:

    function ttftext_widget_title($content='', $widget_id='')
    { preg_match("/]*>([^<]+)/",$content, $matches);
    $insert_img=the_ttftext( $heading, false );
    return $content;

    $matches was closed with )) instead of );

    One more thing though: what is meant with [priority]? I removed it to get rid of the “unexpected ‘]'” error.

  46. 46
    Alan on 27 Dec 2008 #

    oops! i hadn’t noticed that extra ) in the TTFcode before – it should be a semi-colon instead. (which is otherwise missing!)

    [priority] is the optional parameter that you can give when you register with add_filter – it allows you to set order of filtering routines if needed.

    thanks for pointing both these out – i will try to remember to update the official WP repository

  47. 47
    Chanty on 28 Dec 2008 #

    Okay thanks! :)

  48. 48
    Illya on 30 Dec 2008 #

    This is such a great plugin. I thought I would have to code a whole new sidebar for every page other than my index page and this theme has solved my problems effortlessly. Your work on this plugin is greatly appreciated at Thanks!

  49. 49
    admin on 30 Dec 2008 #


    remember you can still define different sidebars to be invoked by different template files (home.php, single.php. etc)

  50. 50
    Martha on 31 Dec 2008 #

    I’m trying to figure out the right widget logic to use to display a widget only on a page or a sub-page of that page. I took a look at WP’s conditional tag information, and figured it is some variation upon

    ( is_page(‘title’) || $post->post_parent == ‘xx’ )

    But nothing I try seems to work. Any tips?

  51. 51
    admin on 1 Jan 2009 #

    see my post here

  52. 52
    Martha on 2 Jan 2009 #

    Thank you, Alan! Awesome plugin and awesome help!

  53. 53
    Chanty on 10 Jan 2009 #

    Little annoyance: whenever I make changes to my widgets and save it, the Widget-Logic switch turns off and I need to click the Save button again for it to work… Is there a fix for this so that it stays on?

    Thanks :)

  54. 54
    admin on 10 Jan 2009 #

    “the Widget-Logic switch turns off” – do you meant the ‘widget_content’ filter option? if so are you sure you have an up-to-date version – that happened on an early version, but i’m pretty sure i fixed it.

    also – do you use the filter anyway? you don’t need that option ticked for ordinary widget logic options to work. it’s used to manipulate the content of widgets with special PHP code.

  55. 55
    Chanty on 10 Jan 2009 #

    I do use the filter for ttftitles; without the filter on it just displays normal text. And I’m using the latest version… (0.43)

  56. 56
    admin on 11 Jan 2009 #

    :-) ok just checking. surprised that the tick box is blanking as i thought that had been dealt with in a much earlier bug fix. will check on that for you.

    it’s about time i had an offical update – the ‘2.7’ compatibility update i did needs flagging up properly.

    i can’t get the tick box to blank if i change a widget in WP 2.5/2.6 or 2.7. it might be that i’m on a development version that already tackled this issue. see if using that (download at improves things for you.

    otherwise we’ll need to troubleshoot – go to the WP forums and post here so we’ll go through it. things like deactivating plugins to see if there is another plugin out there that’s clashing with WL

    there is a fix for this in the development version. i will be updating it into a full release soon – mostly to update the documentation.

  57. 57
    Chanty on 14 Jan 2009 #

    Just updated, works fine now!

  58. 58
    Linda Webster on 15 Jan 2009 #

    I freaking love you for writing this plugin! You have made my day!! Thank you!

  59. 59
    Matteo on 21 Jan 2009 #

    Firstly, thanks so much for this plugin – it’s the answer to my prayers :)

    Thing is, I’ve found myself in a bit of a mess and I’m not sure how to fix it.

    What i wanted to do was to include a widget on all pages except two. I managed to exclude one page – using !is_page(’page-name’)- no problems, but wasn’t sure about how to exclude two pages at the same time.

    I decided to try a few things, starting with !is_page(’page-name’)||is_page(‘other-page-name) but immediately got an error message. I tried to undo it but everytime I tried to save a change or even delete a widget completely I got this message.

    Warning: array_keys() [function.array-keys]: The first argument should be an array in …./wp-content/plugins/widget-logic/widget_logic.php on line 29

    Warning: Invalid argument supplied for foreach()… /www/wp-content/plugins/widget-logic/widget_logic.php on line 29

    Warning: Cannot modify header information – headers already sent by (output started at …./wp-content/plugins/widget-logic/widget_logic.php:29) in …..www/wp-includes/pluggable.php on line 850

    I’ve tried deactivating and resinstalling the plugin but the problem persists even after a fresh install – ie can’t save any changes to any wiget without the error message. Also when i open a widget for editing the widget logic box always contains a single character (like ?, C. or I) in it which but i try to delete always comes back.

    The only thing that fixes the problems is deactivating the plugin altogether, which I really don’t want to have to do cause it will be such a life saver if I can get it working!

    Any ideas on what may be going wrong or how to fix this would be massively appreciated :)



  60. 60
    Alan on 21 Jan 2009 #

    odd one. sounds like the WL options have got corrupt. try going to wp-admin/options.php in your setup and seeing if you can clear the ‘widget_logic’ field. if it says ‘serialized data’ you can’t clear it this way. you could clear it with a direct change in your database

    or you could hack (improve!) the widget logic code like this… Change line 18 from:

    if(!$wl_options = get_option(‘widget_logic’)) $wl_options = array();


    if(!$wl_options = get_option(‘widget_logic’) || ! is_array($wl_options)) $wl_options = array();

    which should reset your preferences to all empty again.

    the code you need to exclude two pages will be


    HTH, Alan

  61. 61
    Matteo on 21 Jan 2009 #

    Hi Alan, thanks very much for helping out.

    I couldn’t locate a ‘widget_logic’ field in options.php so I tried making the other change you suggested. I replaced the code at line 18 but no joy. I then noticed that the same line of code appears again further on in the file so i tried replacing that as well. Don’t know if that was a good idea or not but it had the effect of eliminating those characters that kept appearing in the widget logic box.

    So I got somewher, but there’s still no luck with trying to save changes or implement new code. I keep getting the same error. It’s frustrating cause it was all working fine initially, so I just need to be able to start again from the beginning somehow. One other thing, after trying to save any widget changes the site front end also throws up the following error messages anywhere where a widget should be located.

    Warning: Unexpected character in input: ‘ in …..www/wp-content/plugins/widget-logic/widget_logic.php(132) : eval()’d code on line 1

    Parse error: syntax error, unexpected ‘)’ in …/www/wp-content/plugins/widget-logic/widget_logic.php(132) : eval()’d code on line 1

    Don’t know if that helps shed any light.

    Thanks again for your help.


  62. 62
    Alan on 22 Jan 2009 #

    you are right – that correction needs making in 2 more places i think to make it clean.

    the new “unexpected ‘)’” etc errors are likely due to mistakes in widget logic code you are now trying in the widget interface. check all your widgets (on all your sidebars if you have more than 1) for widget logic code and check their syntax. somewhere there is a stray bracket or something like that.

  63. 63
    Matteo on 22 Jan 2009 #

    Ok, things are loooking up :)

    I couldn’t find any stray brackets and was on the verge of giving up in despair, but I decided to see if a fresh install of the plugin would work now that the bad data seemed to have been cleared. It did help!

    Now there are no error messages when saving and I’ve been able to exclude single pages but when i try


    this appears in the sidebar

    Parse error: syntax error, unexpected $end in /usr/home/seobcn/www/wp-content/plugins/widget-logic/widget_logic.php(132) : eval()’d code on line 1

    Is there any thing else I can do? Or any other code i can try which will produce the desired effect?

    Thanks Alan!


  64. 64
    Alan on 22 Jan 2009 #

    are you perhaps copying that code from here and that includes the curly quotes? if so, replace with simple straight quotes.

  65. 65
    Matteo on 22 Jan 2009 #

    That was it! Thanks so much for all your help :)


  66. 66
    emirie on 4 Feb 2009 #

    I like this plugin however I’m having problem how can I exclude one page? I mean I want the widget to appear on every post or pages except my about page. Any ideas?

    Thanks in advance.

  67. 67
    admin on 4 Feb 2009 #

    see comments 11-12 above

    there are more examples and explanations on

  68. 68
    emirie on 5 Feb 2009 #

    I tried to put !is_page(‘about’) on one widget logic to exclude that widget on my about page but I’m getting this error:

    Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/erikawor/public_html/wp-content/plugins/widget_logic.php on line 29

    Warning: Invalid argument supplied for foreach() in /home/erikawor/public_html/wp-content/plugins/widget_logic.php on line 29

    Warning: Cannot modify header information – headers already sent by (output started at /home/erikawor/public_html/wp-content/plugins/widget_logic.php:29) in /home/erikawor/public_html/wp-includes/pluggable.php on line 850

    Please let me know what to do. Thank you again.

  69. 69
    admin on 5 Feb 2009 #

    ok, that is a new issue that i think is the same as matteo’s above (see comments 59-62). no idea where its coming from, but it needs a proper fix – so i need to put this in the code permanently. You can try the quick fix suggested above, or wait for the plugin update. prob get that out by the end of the week.

  70. 70
    admin on 5 Feb 2009 #

    emirie, i have updated the ‘development version’ on the WP site, which will be available to download shortly here. (it should say it’s v 0.45 at the top of the main php file if you need to check)

    your problem should be dealt with by those fixes. let me know how it works out, and if all is well. i will do another minor official update.

  71. 71
    emirie on 6 Feb 2009 #

    Its works very well now and the widget shows the way I wanted to. As of now I don’t have any error or problems.
    Thank you very much.

  72. 72
    admin on 6 Feb 2009 #

    Terrific! and thank you for checking back and letting me know. i will release it officially over the weekend.

  73. 73
    lorenzo on 12 Feb 2009 #

    Hi Allan,
    very nice and helpful plug!

    I’ll have a couple of question on this plugin,not really
    an assistance request.

    A- would this ‘work’ to call inside my WP
    the SSI of my */forum? (recente comment,or else)

    B- would be possible to set More than 1 page in
    the Widget Logic dedicated field?

    Thanks for sharing your work and knowledge .


  74. 74
    admin on 12 Feb 2009 #

    sorry Lorenzo, i’m not really clear on what you are asking in ‘A’.

    In ‘B’ i take it that you are asking if it can make widgets appear in multiple pages, and yes it can, by using OR which is written ||

    is_page(‘about’) || is_page(‘credits’)

    would make a widget appear on both those pages

  75. 75
    lorenzo on 12 Feb 2009 #

    Many thanks,
    and sorry for my bad english

    the A: question was about the ability of your plug
    to call within WP some SSI declarations
    Those SSI are about a SMF located in the domain subdomain (while WP is ‘root’)

    I’m Asking it because I’ve already tied out a different plug but I do find it a bit too pervasive.

    MAny many thanks again.


  76. 76
    admin on 12 Feb 2009 #

    no worries, not your english i suspect. i just don’t know what an SSI declaration is, or what an SMF is either :-(

  77. 77
    lorenzo on 13 Feb 2009 #

    Oh, I see, well it’s with great pleasure that I’ll intoduce
    you to

    sharing knowledge, a lot less than what you already do :)


  78. 78
    Einar on 14 Feb 2009 #

    Nice idea but it’s kinda buggy.

    Like moving a widget higher up in the sidebar and suddenly it is no longer visible on the page.

  79. 79
    admin on 14 Feb 2009 #

    that’s not something i’ve ever noticed happening with widget logic. if you could describe the problem step-by-step i’ll check to see if it’s my plugin or WP code that’s at fault.

  80. 80
    admin on 14 Feb 2009 #

    back to lorenzo. Server Side Includes! i haven’t thought about those in a while!

    ok, so “would this ‘work’ to call inside my WP the SSI of my */forum?”

    no i don’t think there’s anything relevant to SSI usage in my plugin. However within WP as a whole as it’s PHP, there’s more than enough functionality there to pull in includes like the very basic SSI functionality of apache.

  81. 81
    Steven on 18 Feb 2009 #


    The Widget logic code !is_page(‘some-page’) works fine while the code is_home() does NOT do anything??

    I want to turn off a widget on only the Home page. I presume this is the way to do that..?!

    The Widget content filter is checked and I use WP 2.7.1.

  82. 82
    admin on 18 Feb 2009 #

    you don’t need the widget_content filter ticked – that doesn’t effect the widget logic fields or whether widgets appear on this or that page.

    have you read and particularly the difference between is_home() and is_front_page() ?

  83. 83
    Steven on 19 Feb 2009 #

    Un-ticking the widget_content filter makes all widget logic fields go away. So I leave it ticked.

    I did read this help file but it is written for technical people. I have a static page as the home page and I want to know what to use in the logic fields to set a sidebar widget only to display ont the static home page.

    I tried these:
    is_home(), is_front_page() and is_page(‘home’). None of them works..

    Thnx in advance :)

  84. 84
    admin on 19 Feb 2009 #

    “Un-ticking the widget_content filter makes all widget logic fields go away”

    OMG YOU ARE RIGHT. this appears to be a really long standing bug i reckon. However it is just when you change that option. if you reload the widget page, the fields re-appear intact. i will attend to this v soon. i can’t believe this has only just been brought to my attention now – i’ve only just done a little update :-(

    but thanks still!

    meanwhile your separate issue…
    try disabling any cache features you have. any difference?
    try switching to the WP default theme. any difference?

  85. 85
    Steven on 20 Feb 2009 #

    The default theme does seems to be ok with the widget logic code is_front_page() . How can I make it work for my site?

    I do not know much about the WP (and php coding). I have read something about the code wp_head() somewhere(?) but I do not know what to do with it exactly..?

    I am using this theme ( for my website.

    PS. Your server seems to be very slow (many 503 errors).

  86. 86
    Trina on 4 Mar 2009 #

    I am also using a different theme – Stars ( and am having widget logic errors.

    Warning: Illegal offset type in /home/katchoo/dev/wp-content/plugins/widget-logic/widget_logic.php on line 125

    Warning: Illegal offset type in /home/katchoo/dev/wp-content/plugins/widget-logic/widget_logic.php on line 128

    Warning: Illegal offset type in /home/katchoo/dev/wp-content/plugins/widget-logic/widget_logic.php on line 125

    Warning: Illegal offset type in /home/katchoo/dev/wp-content/plugins/widget-logic/widget_logic.php on line 128

    Here is my dev site:

    I’ve tried searching the web and wordpress forum to see if anyone has the same problem, but no one has yet. I did start a forum on WordPress but I’d love to get your opinion on what I can do next.

    Thank you for your time!

  87. 87
    Alan on 4 Mar 2009 #

    And we’re back. steven, trina, i’ll have a look at those themes. trina – i already noticed your post on WP forums and asked for a link to the theme you are using. which i see here. cheers. will let you both know what i find

  88. 88
    admin on 5 Mar 2009 #

    trina – i have answered more fully on the wp forum with suggested fixes (the problem is that wp_head() is called twice in the theme)

    steven – the sidebar.php code in your theme calls dynamic_sidebar (which is to say it outputs the widgets) after a special ‘query_posts’ command, which resets all the values of is_home etc based on that query.

    the code says that query runs only if you have a selected “mumrik_featured_category_id”. (it looks like you can unset it by choosing the top “Select Category for Featured Articles” item from a drop down somewhere)

    Someone has a similar issue before and they found that adding a `wp_reset_query();` fixed it. so have a go at putting that in before the sidebar is called on line 41.

  89. 89
    LJGreene on 7 Mar 2009 #

    Hi Alan

    Thanks for the plugin! I downloaded it so I could use it with TTFTitles, but i need a bit of help. This is likely a stupid question, but that should make it an easy answer!

    i’ve activated the plugin and added the filter and function codes to my function.php, but I’m uncertain about my next step. Is there something I need to put in the widget logic field to utilize TTFTitles for my widget titles? If so, can you tell me what the PHP code is?

    I don’t know if this makes a difference, but i’ve added a second style to TTF to use as font for my sidebar titles. So it won’t be the default font that i use with WL.

    Thank you!

  90. 90
    admin on 7 Mar 2009 #

    so go through this checklist:

    1 tick the ‘widget_content’ option on the widget admin page
    2 register a new function to go on that filter using add_filter(‘widget_content’, … etc
    3 supply the function for the filter (that uses the_ttftext function)

    that should do it. the suggested code on the WP plugin page to do widget titles uses the_ttftext( $heading, false ); which should render the text in the default style you have configured in TTFTitles setup.

  91. 91
    LJGreene on 8 Mar 2009 #

    Thanks Alan

    I’d already done steps 1-3 as suggested on the plugin page and the sidebar/widget titles weren’t impacted, so i thought there must be another step involved. Like putting something in the empty WL field.

  92. 92
    Rhys on 9 Mar 2009 #

    is there a way to use a statement similar to the one below, that looks at all ancestors, not just the immediate parent? i have a multiple level site structure.

    global $post; return ($post->post_parent==”31″);

    great plugin btw

  93. 93
    Alan on 9 Mar 2009 #

    according to you might try

    global $post; return (in_array(31, get_post_ancestors($post)));

  94. 94
    Rhys on 9 Mar 2009 #

    Great, thanks Alan.

    I did have a good look around, but missed that thread.

    works perfectly…

  95. 95
    Julian on 19 Mar 2009 #

    Yay, now I can really use WordPress as a CMS, awesome, thanks heaps!

  96. 96
    admin on 19 Mar 2009 #

    Today the WP repository recorded the 10,000th download of Widget Logic.


    Now, I’ve always been meaning to ask people – how could I make a simple interface instead of (as well as) the generic ‘write PHP code’ approach

  97. 97
    Trina on 20 Mar 2009 #

    I’m sorry but I’m still having problems with this module. While I don’t get the errors above anymore, the widget logic does not appear to be working.

    I have checked the ‘use widget-content filter’ and on the widgets in the side I tried any conditional statement like is_home() and the widgets still appear in all the sidebars.

    I guess it’s the Stars theme, but do you have any ideas of what I should look for?

  98. 98
    Alan on 20 Mar 2009 #

    looks like you saw comment 88, as you have responded on the WP forum?

    if you’ve done that fix and it’s still not right, try the other suggestion i made in the wp thread which is to edit the theme’s header.php

  99. 99
    Trina on 20 Mar 2009 #

    I am not getting those header errors anymore. It just seems the widget logic conditions that I pass are being completely ignored. Where would I find that in the code?

  100. 100
    marilu on 21 Mar 2009 #

    I’m trying to use widget logic with the flexi pages widget to have two different menus I can use on specific pages but I can’t figure out (have looked at your other answers and wp conditional tags info) how to combine a command like this example: is_page(‘home’;’about’; ‘biography’; ‘ect’) to make those pages show up for that menu.
    what is the correct syntax for listing multiple pages?
    Grateful for any help.

  101. 101
    admin on 21 Mar 2009 #

    sorry Trina – if the corrected head.php doesn’t fix it, and it is the theme to blame (did you say the problem goes away in the default theme?) then i really don’t know where to go next. i might try a test install of that theme and try it myself. not today though.

    marilu – is an essential guide to the syntax of most logic you need. and you will find what you want under the bit on PAGEs.

  102. 102
    Trina on 22 Mar 2009 #

    I’ll try and look up more information but where in the process does it look to see if there is a variable set in widget_logic? Is it in sidebar.php? Or a file before that? That way I can see if the function is ever called.

  103. 103
    Dainis on 24 Mar 2009 #

    I tried to use is_user_logged_in(‘false’) to show a newsletter subscription widget only if users are not logged in. That means “show this widget if user is a guest (not logged in).


    display the widget only if the user is logged in, and I want it to be if the user is not logged in.

    I was thinking about validate_username(‘false’) …

    Since this is one of my few attempts to use any kind of functions, I could likely be doing something boneheaded!

    PS: Definitely a cool and useful plugin!

  104. 104
    admin on 24 Mar 2009 #

    it’s just is_user_logged_in() and doesn’t take any values

    as usual in PHP to get the reverse you put ! at the beginning to add a logical NOT to the code:


  105. 105
    Dainis on 1 Apr 2009 #

    Awesome admin! How cool! Sending you a big smile from Vienna. Now I’m off to figure out how I can add a “widget” to the top part of my home page, in the “content” area and not the side bar.

    Can I send you a buck or two via PayPal?


  106. 106
    unibet on 1 Apr 2009 #

    I confirmed !is_user_logged_in()

    Thank you for this topic

  107. 107
    Thomas Clausen on 9 Apr 2009 #

    Love the plugin, but it seems it has a little bug, see more here:

  108. 108
    Alan on 9 Apr 2009 #

    well i can’t view all that post as i’m not signed up for that site. if someone posts a description of the issue on the wordpress widget-logic tag forum i’ll see what i can do.

  109. 109
    Thomas Clausen on 9 Apr 2009 #

    Now I’ve done that.

    Sorry I forgot that you have to be logged in to see what Justin writes.

    Basically it’s just when I use widget logic to display a widget on only 1 category page, then the rest of the pages shouldn’t display anything (and they don’t), but the page should also be in full width, and this isn’t the case.

    According to Justin: “It’s because the plugin doesn’t “deactivate” the widgets while on that page. They’re still being read as active by WordPress.”

  110. 110
    Shawn Ryder on 17 May 2009 #

    I have wanted to set up some Podcasts – so great information, thank you.

  111. 111
    BdF on 17 May 2009 #

    Works fine on my site with WP 2.71 French version. I use it to have the Video-Widget sidebar widget display a random video in the sidebar only when on the front of the site, using the conditional tag is_front_page().

    Merci beaucoup!

  112. 112
    Luc on 25 May 2009 #

    Seems to work OK with 2.7.1, but gives an error when activating, and when saving the logic for a widget. It does install, and does save the logic though, so if you only intend to use it once when setting up your widgets, it does the job nicely.

  113. 113
    admin on 25 May 2009 #

    any more info on those errors, i’ll investigate – tho it would be great if you could see if it was theme specific or if it’s still there when all your other plugins are off

  114. 114
    Mike on 27 May 2009 #

    Vielen Dank für diese guten Informationen,
    mein Englicsch ist zwar nicht so gut, aber es hat gelangt


  115. 115
    stuart on 28 May 2009 #


    I have added this widget to my site, (great widget) However I require my visitors to log into the website via google friend connect. The widget then seems to not realise that they are logged in even though wordpress does. I have tried it with just the single page function and it works great so I knwo the plugin works , plus when I log in as administrator it works fine but when I test it as a google friend it still appears using !is_user_logged_in()

    be great if someone could shed some light :)

  116. 116
    admin on 28 May 2009 #

    i don’t know a great deal about google friend connect, but a quick look around the net makes me think that if you have logged into it, that this is entirely separate to the wordpress login mechanism. so is_user_logged_in() isn’t going to be at all relevant to being logged in via GFC.

    but sadly, i don’t know what mechanism you COULD use to identify people logged in via GFC. it looks entirely javascript driven and ‘client side’ – so the server won’t be able to tell.

    sorry – if anyone can shed light on this, i’d be grateful.

  117. 117
    Itzsnider on 12 Jun 2009 #

    Widget Logic is broken – or at least a ton of us are having issues with it. With 2.7.1 2.7 and on 2.8. Please help us out here. They keep dissapearing after adding the widget logic.

  118. 118
    Alan on 12 Jun 2009 #

    there is a problem with WL and 2.8, which I think i’ve already solved. will be updating the WP repository soon.

    UPDATE: the Development version here will shortly be my first attempt at a 2.8 version (with some extra fixes thrown in).

    I don’t think there are any general problems with WL and WP2.7 – though there are theme-code-related issues and one specific GUI issue. hoping to address some of these in the 2.8 version coming soon…

  119. 119
    Kendra on 13 Jun 2009 #

    I have been trying to use Widget Logic to use the TTF Titles plug in for my Widget titles. The function code for the ttftitles returns tons of errors. The most common one is an “unexpected $end error” I don’t know if I am not doing it right or what. I copied and pasted this code:

    function ttftext_widget_title($content=”, $widget_id=”)
    { preg_match(“/]*>([^<]+)/”,$content, $matches);
    $insert_img=the_ttftext( $heading, false );
    return $content;

    I am no PHP expert so is there any way you can give details on what to do with it and what changes to what and what closes it, etc? Thank you!

  120. 120
    admin on 13 Jun 2009 #

    as you’ve taken this to the wordpress forums, i’ve answered there too.

  121. 121
    Kendra on 13 Jun 2009 #

    Awesome, thank you so much. :)

  122. 122
    Dainis on 18 Jun 2009 #

    Hiya, what a wonderful tool this is! Thanks a bunch. Now I’m trying to do the following:

    Don’t show if user is not logged in and don’t show if user is not logged in and at this particular page

    These are the pieces:



    But I don’t know how to make the logic work:

    So !is_user_logged_in() OR
    !is_user_logged_in() && !is_page(‘recently-acquired-tinnitus-survival-ecourse’)

    But what kind of parens do I need?

    Best and thanks a ton! :-)

  123. 123
    Alan on 18 Jun 2009 #

    i updated the notes and faq on the WP site which might be of some help

    i’m a bit confused by the logic you want – it seems like the first case !is_user_logged_in() would be true before you get to OR with the second case which is ‘!is_user_logged_in() AND something’ ie a subset of the first case.

    perhaps you’ve got tripped up over too many “don’ts’ and “nots”. try restating what you want in terms of when you DO want the widget to appear.

  124. 124
    mllehman on 19 Jun 2009 #

    My widgets are also disappearing when I save, and I’m not quite sure what to do. I am using wordpress 2.7.1 and Widget Logic 0.46.

    What should I do to fix this problem?

    (I have also left a more detailed question in the forums here:

    Thanks in advance for your help!

  125. 125
    admin on 19 Jun 2009 #

    replied on the wp forum

  126. 126
    mllehman on 19 Jun 2009 #

    Thanks for your prompt reply:

    This is where I am now… I posted on the wp forum here:

    Thanks again!

  127. 127
    Troy Corley on 3 Jul 2009 #

    I’ve been using Widget Logic on my 2.7 WordPress site for a while. But then I upgraded the plugin yesterday and was unable to use WP text widgets. I can’t edit or create new text widgets unless I deactivate Widget Logic first. Any fixes? Thanks!

  128. 128
    admin on 4 Jul 2009 #

    the good (ish) news is that you are not alone — see the WP forums for one other guy having this issue and helping me with some feedback.

    the bad news is that i cannot reproduce this problem with my WP2.7 (actually 2.7.1) install, so I don’t know what to do to fix it. yet.

  129. 129
    Scott on 7 Jul 2009 #

    Can you make the entry box for widget logic bigger or scalable? If I have a long command I can’t see it unless I copy the whole command and paste it into note pad.


  130. 130
    admin on 7 Jul 2009 #

    i have thought about this – and how to do it as simply as possible. if i make it a textarea rather than a text input that would make it expandable in safari — would that work on other browsers too?

  131. 131
    Anthony on 7 Jul 2009 #

    I would love to use this plugin but is it WP 2.8 compatible yet?

  132. 132
    vivi on 8 Jul 2009 #

    Really do appreciate the hard work thats gone in here the logic is awesome and fluid.

    But WP is supposed to simplify life , bring more people into the blog sphere (needless to say most of these people don’t even know what php means, translated it means these people are newbies)and most of them will not even know where to begin with this tool .

    WP is supposed to be simple but unfortunately this tool does exactly the opposite. More tools like this and the WP market share for the newbies will shrink to a trickle.

    May be you should start seriously thinking about developing your tools for CMS – now no one claimed CMS was simple ??


    PS: I hope that you will take my feed back in the right spirit?
    PSS: Its a disaster with 2.8

  133. 133
    admin on 8 Jul 2009 #

    I have done some 2.8 testing and it seems fine. Let me know some specific problems and I’ll get on it

  134. 134
    Dainis W. Michel on 23 Jul 2009 #


    with the first portion of this:

    !is_user_logged_in() || !is_page(array(1258,1669,1670,1394))

    I’m trying to say: “show only when the user is not logged in,” which works all by itself.

    Now, what I’m trying to do is say

    1) Show only when the user is not logged in as a general rule
    2) Don’t ever show on these pages (regardless of if the user is logged in or not). I can also say “don’t show if the user is not logged in and is at the following pages.”

    The thing is if I say

    !is_user_logged_in() && !is_page(array(1258,1669,1670,1394))

    then I think I get:

    “Show if user is not logged in and don’t show if user is is simultaneously at one of these four pages.”

    Hmmm…just tested it, and it works with the and, not the or.

    It’s interesting, because WL starts with

    “Show if…”

    when I put a not in front of is_user_logged in, I get: show if user is not logged in. That works.

    The thing is

    When I say

    “Show if… !is_page” it’s like it should be “show if it is not this page,” but that’s not correct. When I say !is_page I have to start the sentence with “don’t show,” which somehow doesn’t make sense to me yet.

    Well, it’s working, and I wonder you tell WL “show on this category,” does that also mean “don’t show on any other category?” I guess so.

    So things can be either positively of negatively formulated. Interesting.

    Thanks, this has been fun!

  135. 135
    admin on 23 Jul 2009 #

    glad it’s worked out! what you have to get your head around is what the logical OR || operator and logical AND && operators are doing.

    in your first case

    !is_user_logged_in() || !is_page(X)

    this is saying ‘show the widget when the user is not logged in OR when the page is not X’ – which means it will be showing if the page is not X regardless of whether logged in or not. which is not what you were after. and if you are not logged in it shows regardless of which page it is.

    logical OR is a way of combining when you want to consider either of two separate instances to be true.

    so you needed to reword what you wanted as

    “Show if user is not logged in AND EVEN THEN, only if user is not at one of these pages”

    which is a way of narrowing the conditions – a logical AND operation.


  136. 136
    JW on 24 Jul 2009 #

    I am using Widget Logic 0.46, WordPress 2.82, and Thesis 1.51 with a static “Home” page and all posts on the “Blog”page.

    I can not get Widget Logic to only show the main widgets (which include Recent Posts, Recent Comments, Archives)on the “Blog” page only.

    When I enter “is_page(blog) into andy of these, they disappear from the “Blog” page.

    Is this a bug or is there a way around this.

    Thank you,

  137. 137
    JW on 25 Jul 2009 #

    I receied the fix on the widget logic wordpress forum from “greenshady” and the simple fix he gave was to use:


  138. 138
    Jim R on 26 Jul 2009 #

    EDIT: Disregard what I wrote. It was “user error”. :)

    Nice plugin!!!

  139. 139
    Jim R on 26 Jul 2009 #

    Ok…now I am having trouble. My Twitter widget isn’t showing up since utilizing this plugin. I don’t have anything in the Widget Logic setting for the Twitter widget. Are there any known conflicts?

  140. 140
    links of london on 28 Jul 2009 #

    Thanks for your information!

  141. 141
    Lily on 6 Aug 2009 #

    awesome stuff mate, made my day

  142. 142
    Vince Theron on 7 Aug 2009 #

    This is a great widget, but I have a question. I’m making a site with many pages, and can’t figure out how to write the code so that a page and all its sub-pages get the same widget, instead of having to make a separate widget code each page (I have 60 + pages!) using this: is_page(‘page name here’)

  143. 143
    Bob on 7 Aug 2009 #

    Great plug-in, very useful. Thanks you for creating it.
    However I found a bug. With WP 2.8.2, when widget logic is activated, new widget (without the details in widge logic box) cannot be saved.

    The workaround is to disable widget logic, add the widget and reactivate the plug in.

  144. 144
    admin on 9 Aug 2009 #

    vince, the notes in has an example that fits what you want

    bob, you are not the first person to say this (see also the WP forums), but i have never managed to replicate this issue on any version of 2.8 and WL. FT works on 2.8.3 (v recent upgrade from 2.8.2) and we don’t have that issue. there is some other factor interacting with WL that i can’t debug or take any steps to circumvent.

    if you’d like to give me access to your blog (including access to edit the WL plugin on your site), i’d be delighted to give it a go.

  145. 145
    Dainis W. Michel on 10 Aug 2009 #

    This is such cool stuff! Wow! I wonder If I can apply !is_user_logged_in() to a category.

  146. 146
    admin on 10 Aug 2009 #

    is_category(x) && !is_user_logged_in()

    will only show a widget on the category x archive page when the user isn’t logged in

  147. 147
    Dainis W. Michel on 10 Aug 2009 #

    Ha, that was quick, actually, I meant whether I can show or not show certain posts or pages as a result of this kind of code in special fields or something like that. Basically, I want a particular category only to display if users are not logged in (that is they are visitors). It’s not widgets, it’s a category full of posts. :-) I think I figured out a fun workaround, though…

    Thanks a ton!

  148. 148
    Ben Herson on 15 Aug 2009 #


    I’m having some trouble getting more than one widget to display using Widget Logic.

    Works fine with one widget but any more than one and the second wont show.

    I’m using Massive Themes running wordpress 8.4 on a server running php 5.5.4

    Any help would be GREAT!!

  149. 149
    admin on 15 Aug 2009 #

    switch to the WP default theme and try as simple a setup as you can. say 2 widgets, one set to is_home() and the other to is_single(), or something as uncomplicated as that. let me know how that goes

    i can’t find Massive Themes – do you mean MassivePress?

  150. 150
    Ben Herson on 15 Aug 2009 #

    I’ll give that a shot! Sorry I meant Massive News from Press 75.

  151. 151
    matthew booth on 23 Aug 2009 #

    Thank you so much for this plugin. I appreciate that you took the time to make a tool that is useful for designers/developers like me

  152. 152
    Rob on 28 Aug 2009 #

    Hi – first of all, GREAT plugin and thanks for creating. My question:

    On my site ( I have all the blog related widgets set to appear only on, however, whenever someone clicks on a post they disappear. what function must i input to get them to appear whenever someone clicks on a post? thanks!

  153. 153
    Rob on 28 Aug 2009 #

    One more question – can you add two commands to one widget? For recent posts I’d like to have both:


    can i do that in one widget or would i have to add the widget twice? problem is, i can’t seem to add “recent posts” twice for some reason so i’m hoping i can add both to one widget. thanks!

  154. 154
    Maggie on 29 Aug 2009 #

    Thank you so much for making this plugin. It was really useful for me.

  155. 155
    Anonymous on 29 Aug 2009 #

    Podcast channels are a great add on for any blog. Thanks for the inputs on wordpress set up and themes.

  156. 156
    Heidi on 6 Sep 2009 #

    is there a widget logic to use for showing a widget on a post by author. So lets say I have 4 authors and I want a widget to show only on single posts by a particular author? Thank you for a great plug in!

  157. 157
    Conifer homes for sale on 6 Sep 2009 #

    I’ve widgetized my multimedia box on Thesis but I’d like to add a transparent descriptor in the box to help readers understand how to use the widget do you have any tips?

  158. 158
    admin on 7 Sep 2009 #

    Heidi, turns out the is_author conditional tags aren’t all that useful – in that they only work as if they were ‘in_author’ tags, ie as author archive pages. BUT you can use the get_the_author_ID() function to get the author of the current single post. which means you can use:

    `is_single() && (get_the_author_ID()==33)`

    to get a widget to appear on single posts by users with that specific ID

  159. 159
    LDHawks on 14 Sep 2009 #

    I have downloaded Widget Logic, but can not find a tutorial or directions on how to actaull impliment!! Pretty new to Development. Please direct me to HOW TO USE manual :)

  160. 160
    Sipho on 15 Sep 2009 #

    I am rewriting the widget logic so that i can easily go from
    -> Edit Page (a link like “edit widgets”) then it takes me to the widgets page where i can edit the widgets for the specific page. Insted of having all widgets for every page on the widgets page. No need for typing in is_page() logic in the field. It inserts in a hidden field and automaticly. But now i have a problem i want to use the same filter like widget-logic filters the widget in my theme ( show widgets only on certain pages ) So how can i apply this hook to the “sidebar_admin_page” widgets.?? any help would be great. this would be a great update for widget logic anyways!!!!

  161. 161
    Alan on 15 Sep 2009 #

    always on the lookout for suggested additions.

    what would “edit the widgets for the specific page” involve? setting a visible/invisible flag per widget?

    i have thought of something like adding a ‘write post/page’ box extra that lets you choose a named sidebar for when showing that single post/page. i’d have to work out a way to add to the theme’s declared sidebars, but i bet it’s do-able.

  162. 162
    Sipho on 15 Sep 2009 #

    on the write post page i already added a box called “Edit Widgets” so it simply passes the PostID to the widgets page. Originally you have a field in the widget logic where you can type the condition is_page()
    there i catch the PostID and insert it:

    input type=’hidden’ value=’is_page(‘$_GET[‘post’]’)’

    i make the input field hidden, so that the user dont have to bother with typing in conditions. The Next step would be to automaticaly determate which content the link came from and then insert a condition.
    For example if you come from a category to the widgets page, auto insert in hidden field “in_category(‘$_GET[‘catid’])” These rules would be no problem for me.

    I need help on the Filtering widgets Issue. Please help me in filtering the widgets on the admin widgets page the same way you did in the theme frontend. I only want to show widgets filtered through is_page(‘$_GET[‘post’]’)

    maybe we could find a would be a great addition or variation for WL. My msn is please contact me

  163. 163
    Sipho on 15 Sep 2009 #

    I scribbled the Issue with Photoshop.

  164. 164
    Alan on 15 Sep 2009 #

    i’m sorry, it’s not clear to me how you target specific widgets in the first place. and i’m not sure widget logic can filter the admin page the same way it does the main blog.

    have you looked at “section widget” or “widget context”? they might suit your purposes

  165. 165
    Sipho on 15 Sep 2009 #

    The apply filer method? Your Hook apllies a filter to the registered_widgets.

    add_action(‘wp_head’, ‘widget_logic_redirect_callback’);

    i tried adding

    add_action(‘sidebar_admin_page’, ‘widget_logic_redirect_callback’);

    but it seems it not adresses the registered_widgets right.
    thank you for the tips and plugin links. But Maybe you ll get an idea.

  166. 166
    Alan on 15 Sep 2009 #

    i don’t think that will work on the widget controls in the same way as it works on the widgets themselves. that will take different code. either way, i’m still not clear how you target widgets to appear or not in the first instance.

    and say you click through from a page to the widgets admin, how do you indicate you no longer want a widget to appear. Hoe about when you want a hidden widget to appear again?

  167. 167
    Sipho on 15 Sep 2009 #

    the basic idea was to edit widgets in general on a “per page basis”
    not to having all widgets from all pages mashed up in one area which is very confusing. only edit the widgets of the selected object would be the magic.

  168. 168
    Connie on 24 Sep 2009 #

    The Widget Logic field disappears after saving the Widget, so I can’t adjust the logic once entered. I guess it’s because of my 2.8 upgrade … not sure as I did that awhile ago. Any fixes yet?

  169. 169
    Alan on 25 Sep 2009 #

    i’m not seeing this on any of the setups i have. what version of 2.8 are you running (2.8.4 i hope) and are you on the latest version of WL (i assume so as you ask about fixes)

  170. 170
    vincent on 26 Sep 2009 #

    i’m running the most current wordpress and widget-logic but the logic doesn’t seem to be working. I put is_page(‘certainpage’) in the logic box but the particular widget still shows up on every single page instead of just the one certain page that i wanted. how does this widget work? I’m use a db caching plugin and css/js concatenate plugin on my wordpress, could those be effecting this widget logic plugin of yours?

  171. 171
    admin on 26 Sep 2009 #

    have you read through the troubleshooting stuff at ?

    if your plugins result in caching of any sort, this will stop changes appearing immediately of course.

  172. 172
    Adam on 30 Sep 2009 #

    How does one just have a widget appearing for a particular post, say post 33?

  173. 173
    admin on 30 Sep 2009 #

    i cannot stress enough how much it pays to read the codex on conditional tags. eg, read this bit on ‘single post pages’:

  174. 174
    Pete Baran on 30 Sep 2009 #

    You could put it in bold? That would stress it more.

  175. 175
    admin on 30 Sep 2009 #

    more, but not enough :-)

  176. 176
    E-TARD on 7 Oct 2009 #

    Thank You soo much for making this plugin
    I needed soemthing like this real bad.
    Keep up the good work dude.

    P.S. something you may want to add to this plugin
    would be an option where what users input into the box will not be what posts/pages you want the widget to show up on but what posts/pages you don’t want the widget to show up on this way I will not have to input soo much.
    just a thought :)

  177. 177
    admin on 8 Oct 2009 #

    you can do that already using the logical NOT exclamation mark. read the notes here on ‘building your own’ code

  178. 178
    Levi on 13 Oct 2009 #

    I am trying to use this plugin to get ttftitles plugin to work in my sidebar. Which I did get to work, but when activated, I lose all of my page code past my sidebar. In my case the footer. If I turn off the WL plugin or delete the function for ttftitles, for the footer returns.

    Any Ideas?

    Thanks in advance.

  179. 179
    admin on 13 Oct 2009 #

    sounds like your widget_content filter function is throwing an error. what’s your code? have you adapted it from my code given on ?

    to check that, change the filter function to return $content untouched.

  180. 180
    kippiper on 22 Oct 2009 #

    Hi guys!

    THANKS so much for this widget! And I already have a question. The client wants a specific page to be his opening page for his site. The page in the menu is called “Home”. When I go to the Pages>Edit section of the Dashboard, there is no page name showing in the path for me to put in the is_page() code.

    The path to this page (on the mockup of this site) is just – and I tried putting ‘index’ in the code with no success.

    How do you suggest I code Widget Logic for specific widgets to appear on this page?

    Thanks bunches!

  181. 181
    Home Based MLM on 23 Oct 2009 #

    I’ve been wondering for a long time now, but can widgets be placed only on a specific page? I’m thinking it’s impossible with the way blogs work.

  182. 182
    admin on 23 Oct 2009 #

    kippiper, what you want is the condition for the front page, take a look at

    at the differences between is_home and is_front_page. this is asked a lot and IS in the main faq

    more generically if anyone else is looking for how to get widgets on specific wordpress PAGEs, take a look

    you can use the numerical ID, URL slug, or title of a page. the URL slug is simple enough to find, the ID you can get from clicking to edit the page and looking in the URL for post=xxx

  183. 183
    kippiper on 26 Oct 2009 #

    Hi Admin –

    Thanks so much for taking the time to graciously answer my silly question. I had looked in the FAQ and obviously was not “cluing in” on the terminology for the answer.

    However, I am still having issues. My Settings>Reading is set to have “Front Page Displays” as the static page “Home”. However, when I code in Widget Logic is_front_page(‘Home’), the widget still does not appear.

    Am I missing something?


  184. 184
    kippiper on 26 Oct 2009 #

    I GOT IT! Thanks soooooooo much!

  185. 185
    ian on 4 Nov 2009 #

    Widget Logic is great!

    How do I check, within sidebar.php if widgets are active for that page? I have div tags wrapping the widgets to create a right column. However, I need to hide those divs if no widgets are appearing on a page. Hope this makes sense.

    Thanks for your help.

  186. 186
    admin on 4 Nov 2009 #

    hmm. i’m not sure what’s your best bet

    i was thinking of adding a “widget count so far” global, but that would only be useful AFTER the sidebar has been printed, which would (at bare minimum) include the open DIV or UL tag for your sidebar.

    could you use CSS to add “display:none” for that bit of the page under the right conditions? if so, the “widget count so far” would be useful to identify that condition of course, and i’ll add it in to the code.

    I think you’d have to add the STYLE section in the footer – i don’t think it would work within the sidebar would it? so that would be something you’d add to your own footer.php template i think

  187. 187
    frank on 8 Nov 2009 #

    I’m having some trouble getting the plugin to help me change the titles of my sidebar widgets using the ttftitles plugin. I activated the ‘widget_content’ filter then grabbed this code from the ‘other notes’ section of the plugin homepage and put it in my functions.php file:

    function ttftext_widget_title($content=”, $widget_id=”)
    { preg_match(“/]*>([^<]+)/",$content, $matches);
    $insert_img=the_ttftext( $heading, false );
    return $content;

    Am I missing a step? Do I need to add any code to the 'Widget logic' section of the widgets dashboard?

  188. 188
    Alan on 8 Nov 2009 #

    I expect you haven’t used add_filter to connect your function to the filter. Look again at the ‘other notes’ section

  189. 189
    Claire Doyle Ragin on 12 Nov 2009 #

    I have split my blog into two categories, “blog” and “news”, and display each on a separate page. What would the array syntax be for pages and ?

  190. 190
    virg on 17 Nov 2009 #

    Thanks for the plugin!

    I have one question.

    What code would I put for a widget to appear just on 1 page? the “is” code excludes the page I add.

  191. 191
    serenine on 25 Nov 2009 #


    Just discovered this plugin! Will be donating soon for sure :)

    I’ve looked here:

    and here:

    How do I get a widget to show ONLY on a page that is a subpage of a parent page.

    This looks close but does not work:

    global $post; return (in_array(77,get_post_ancestors($post))); — WP page that is a child of page 77

    Thank you very much in advance for your help.

  192. 192
    Alan on 27 Nov 2009 #

    That code will work to find pages that are subpages of the page with ID 77. what are you after – pages that are subpages of any page?

  193. 193
    Deepak on 28 Nov 2009 #

    Thank you for plugin, will this work on latest wordpress..

  194. 194
    serenine on 29 Nov 2009 #

    I’ve got it figured out. I had super cache on and it was not showing correctly. The code that worked is pretty simple: is_page(‘141’)
    Thanks Alan. P.S. Just made a small contribution to the Cancer Research UK on your behalf. Thanks for a very useful plugin!

  195. 195
    Daryl Lozupone on 30 Nov 2009 #

    Mr Freaky Trigger,

    I am glad you enjoyed the Video Tutorial I put together. I sincerely appreciate you linking to it here on your site

  196. 196
    Alan on 1 Dec 2009 #

    Thanks serenine and to anyone donating to Widget Logic’s Cancer Research UK drive.

    And thanks too to you Daryl for taking the time to make the video.

  197. 197
    Us3rz on 2 Dec 2009 #

    Hi, I really love this plugin but I keep running into errors whenever I do conditional statements other than the simple statements. When I add the conditional: !(is_single(‘798’)
    I get this error:
    wp-content/plugins/widget-logic/widget_logic.php(154) : eval()’d code on line 1

    I can’t get it to work on any of the conditional statments other than the basic true value statements. Not even statements like is_single(array(17, 19, 1, 11)) will work for me. I tried switching to the default wordpress theme and it still will not work.

    Any suggestions?

    EDITED: I figured out the first error, lol. I am ashamed I did, but I still have problems with complex strings; they give error outputs. I’ll have to copy them later to show though. Sorry. GREAT PLUGIN

  198. 198
    mycomputerkeepsfreezing on 7 Dec 2009 #

    i tried installing it for almost two days and i’m happy worked.thanks for the plugin- no questions.Perfect!

  199. 199
    Robin on 17 Dec 2009 #

    Thank you so much for the video and explanation. My question is that there is a particular page on which I do NOT want the widget to appear, but I want it to appear on all others. How do I do that?

  200. 200
    Angelia on 22 Dec 2009 #

    Hi. I’m really sorry to be commenting here as this has to do with your relocate/upload plugin, but, I can’t for the life of me find anywhere to contact you about this anywhere else. There was a user who had the exact same issue as I am having in the comments at the repository, the filter for viewing the files from the RU folder in media library not working, and it was solved with the changes that you guys made to v.014, but, this has not worked for me and I am having a devil of a time figuring out what is causing this not to work in my instance.
    General Settings in WP are:
    RU settings are:
    root: hostdirectory/homepages/hostdirectory/hostdirectory/htdocs/wpdirectory
    default: /homepages/hostdirectory/hostdirectory/htdocs/wpdirectory/wp-content/uploads
    I can upload to my RU created folders, and the files are then listed in the media library ( however the image does not show up ) but, I cannot get anything to show when I use the pull down menu to list only images in that folder. As well, if I try to move something back OUT of that folder and into the default location, I get a warning from the rename function that the file or directory does not exist ( line 51 of relocate-upload.php ) along with “cannot modify header info” errors from lines 72 and 73. I’m on WP 2.8.6. Do you have any idea why this might be occurring? The host I’m on is 1and1. Do you think it may have something to do with how they name the root folder? I’m really baffled and very much need this ability. I think this is a great plugin that you have written here, and would love to get it working properly. Any help would be greatly greatly appreciated ;-)
    By the way, I tried to register a few times for your site and each time got a “fake user” response. I’m real, I promise.

  201. 201
    admin on 22 Dec 2009 #

    your root and default location paths look unusual, and i think that that might be breaking the string chopping that goes into working out the changes in paths and URLs. which would explain missing previews, and possibly the failure to filter and move back

    can you just check for me that you have got those right.

    another thing. you say ‘I can upload to my RU created folders’. the method I use with RU is to upload to the default ‘wp-content/uploads/’ folders and use RU to move stuff from there to the special folders. are you saying that you are setting the WP uploader to upload to a specific folder (in the WP misc settings screen)

  202. 202
    Vince on 24 Dec 2009 #

    Great plugin!

    Is there such a thing as a WP conditional tag that allows for NOT statements i.w. “is_not_home()”? I’m trying to say that I want a widget to appear on all pages EXCEPT a specific page.


  203. 203
    chodorowicz on 28 Dec 2009 #

    it’s such a usefull plugin – maaany thanks for making it!

  204. 204
    Martina on 30 Dec 2009 #

    Using the arras-theme I have one problem with your plugin with the widget “Last Previews”. I want this widget only appear on “home”. But the command “is_home()” doesn’t work. The widget cant be seen anywhere. What is wrong? Can you help me please?

    Your Widget Logic-Plugin seems to be the one I was looking for. :) It does its job very well, but only this problem irritates me a bit.

  205. 205
    ABRAHAM Morgan on 1 Jan 2010 #

    If found a bug inside the relocate-upload plugin.
    While using it on a windows based server, the ABSPATH constant contains the path in windows style but the \ is considered as an escaping character and diseappears.
    To correct this, i used url_encore function on the ABSPATH contant on line 102 in relocate_upload.php

  206. 206
    Sid Webb on 12 Jan 2010 #

    Something strange is happening. I am using two page templates. One is “main”. The other is “Gallery”. I am using the conditional “is_template” to determine which widgets show up on template. All my pages work fine except one…(see tab “Information/Let’s Talk”. All pages should look the same except “Gallery”. The only thing I can see that may cause the problem is that there are lots of posts on the “Let’s Talk” page. Any suggestions?

  207. 207
    Sculley on 27 Jan 2010 #

    I feel really stupid….I don’t understand how to use the widget. I’m trying to get certain things to show on blog page but not on other pages. Currently, every page — even static pages with sidebar — have every widget and someone suggested I use this to only put things on blog sidebar. I looked in Admin > Widget but don’t see how to do it.


  208. 208
    Alan on 27 Jan 2010 #

    Sid, have you tried the suggestions in the FAQ
    Sculley, read the notes at

  209. 209
    Sculley on 27 Jan 2010 #

    I read that and it didn’t make sense. Sounds like you have to be a programmer type yes?

  210. 210
    Alan not logged in on 28 Jan 2010 #

    if you couldn’t make sense of the screenshots and other notes, then, yes you should consider using it quite a high-level programmer thing.

    there are other, friendlier plugins that allow you to show some. check out ‘widget context’ plugin

  211. 211
    Leah Raeder on 6 Feb 2010 #

    Just wanted to share this as an example for others who might be struggling with logical statements. Could be a good example to add to the notes. Sorry if it was already mentioned.

    I wanted to display widgets on all posts and pages EXCEPT for single posts in a certain category. I figured the following would work:

    !is_single() && !in_category(‘category’)

    However, this excluded the widgets not only from single posts in “category,” but from ALL single posts. It seemed like the AND operator was behaving as an OR operator. I tried enclosing the whole statement in parentheses, but it didn’t change anything. It took me a while to figure out that this unexpected result was because of the ! modifier.

    The proper syntax for this statement is:

    !(is_single() && in_category(‘category’))

    This will display widgets for everything except single posts in the category named “category.”

    Hope this is helpful to someone to make tearing my hair out worth it. :D

  212. 212
    Steve on 9 Feb 2010 #

    Really wish the instructions for TTF integration we’re clearer. Have read and re read the FAQ and Other Notes and like several posters here, am none the wiser. Shame

  213. 213
    Scarlett on 10 Feb 2010 #

    I’m having the same issue as kippiper was. I can’t get this plugin to work when I’ve defined a static page as the front page of my site. I’ve tried setting these variations in the Widget Logic field of the widget with no results:


    I’ve even tried is_page() with the ID and slug of the page, but the widget never shows up. I have “wp_reset_query” checked, and it’s not a theme issue, as I’m getting no results with the default WordPress theme either. Any ideas?

  214. 214
    Scarlett on 10 Feb 2010 #

    One other thing – in trying other conditions, I’ve realized that the Widget Logic conditions aren’t working at all on my site. Either the widget displays on all pages or none, no matter which condition I try. I’ve attempted using the conditions on three different widgets with the same results. I’m using the Thesis theme, which has never clashed with any other plugin I’ve tried. Very odd.

    Additionally, wp_reset_query unchecks itself every time I leave the Widgets page in the WP admin.

  215. 215
    admin on 10 Feb 2010 #

    if you tick “use wp_reset_query fix” and hit the ‘save’ button next to it, it should stick no bother. what version of wp are you on?

  216. 216
    Scarlett on 10 Feb 2010 #

    Unfortunately it doesn’t stick – wp_reset_query is always unchecked as soon as I leave the Widgets page. I’m using the most recent WordPress upgrade (2.9.1, I believe?)

    I ended up switching to Slayer’s plugin – of the 3 I tried, it’s the only one that works. It might be a combination of my theme and the widgets I’m trying to implement this on, not sure!

  217. 217
    admin on 10 Feb 2010 #

    this site is 2.9.1 and i don’t get that behaviour. i would love to know if switching to a wp default theme cured that issue. (also if it made the logic work.)

  218. 218
    Scarlett on 11 Feb 2010 #

    I tried switching to three other themes with the same results. Really have no idea what the problem was and why the Slayer plugin solved it. I’m sorry I can’t be of more help!

  219. 219
    Robert on 17 Feb 2010 #

    I am not a php coder so most of this logic code makes no sense to me at all.
    I just want a line of code in Widget Logic to NOT display a widget on the Home page.

    Will this do it?


  220. 220
    Robert on 17 Feb 2010 #

    As an update—and when I use what I think is the logical line:


    The target widget disappears from the Home page and all other pages too, which is not what I want!

    I’m using WP2.9.1 and the Flexx Canvas 2.0 theme from ithemes.

  221. 221
    Robert on 17 Feb 2010 #

    And more—when I set


    It does the exact reverse of what I want. The Home page displays the widget and the other pages do not!

    Is this to do with using a static page?

    Driving me nuts.

  222. 222
    Robert on 17 Feb 2010 #

    To eat my own dogfood, the correct line turned out to be:


  223. 223
    Rosemary on 25 Feb 2010 #

    Hi, I appreciate your widget-logic plugin’s approach, but am hesitant to install since it says you have not updated the plugin in many months (Last Updated: 2009-6-14). Do you anticipate keeping this plugin current?? Thanks.

  224. 224
    Alan on 25 Feb 2010 #

    Looking at the Compatibility widget on says its working fine on 2.9.2 – i will update the ‘compatible up to’ text

  225. 225
    media on 1 Mar 2010 #

    I’m very very thank, because this plugin is sooo great and very usefull. Very great. I sue for many site. thanksss :)

  226. 226
    逅客北极 on 1 Mar 2010 #

    Why do I use does not work!

  227. 227
    Cichlid on 3 Mar 2010 #

    Works for me. Using it on version 2.9.0 Thank you.

  228. 228
    Alan on 3 Mar 2010 #


    i’ve just updated the code to clear up the resetting wp_reset_query option that has been haunting me/the code for a very long time

  229. 229
    Cindrol on 4 Mar 2010 #

    thanks for the great post

  230. 230
    dandy on 6 Mar 2010 #

    A suggestion is to add a drop down of pages/subpages to choose from rather than a writable text field.


  231. 231
    admin on 6 Mar 2010 #

    Cheers. I have of course thought of something along those lines – of making it flip between free text code and a GUI set of tick-boxes/menus. there are other plugins out there that already offer something like that – I personally don’t like the way they’re done and I don’t want to duplicate their functionality either (people can use them instead).

    Also whenever I think about what to offer in the GUI, I get stuck thinking “what IS the most common things ppl will want”, between offering lots of confusing options, or only offering a few basics that will suit a small %age of ppl. at one point i was even pondering a user-defined library, but that was getting even more complex ui-wise, so in the end i’ve stuck with the ‘hardcore simplicity’ i started with

  232. 232
    vbulletin 4 styles on 10 Mar 2010 #

    Awesome plugin, this is really appreciated, ive been searching for something like this for weeks without any luck, Thanks

  233. 233
    Dave Thackeray on 11 Mar 2010 #

    First off: amazing plugin! Thanks for all your work.

    I’m using Widget Logic to display ads (OIO Publisher) in my sidebar on the home page and when a certain category is chosen.


    is_single() && in_category(‘fractional’)

    to display the ad only on posts in the fractional category.

    Which it does. But the problem is about 20px of the sidebar where the ad would sit, if it displayed, is displaying on every other, non-fractional post.

    Any ideas why this might be happening?

    Thanks a million!

  234. 234
    admin on 11 Mar 2010 #

    hard to say for sure, but it *sounds* like a CSS issue. give us a link. (i couldn’t see it on your linked site)

  235. 235
    Dave Thackeray on 11 Mar 2010 #

    You’re right: it’s a bleedin CSS issue. I’ve moved it to the left sidebar and all is well.



  236. 236
    jnforyou on 12 Mar 2010 #

    I am not the most well versed person when it comes to php, but I was hoping for some assistance.
    I am using the widget logic plugin with ttftitles, but have had problems rendering.

    I get this error: Warning: Missing argument 1 for the_ttftext(), called in /home/skyandcurb/ : eval()’d code on line 1 and defined in /home/skyandcurb/ on line 980

    That is when I use “the_ttftext” in the widger logic form, however when I use “the_ttftext(Feed, $echo=true, $style=”navigation”)”

    I see the style, but no widget box. The “Use ‘widget_content’ filter” is checked and I have the filter code in my functions.php file.

    Are there any suggestions due to my lack of knowledge? Thanks

  237. 237
    erick on 12 Mar 2010 #

    works perfectly for me, thnx guys….

  238. 238
    admin on 12 Mar 2010 #

    @ jnforyou

    you don’t need anything in the per-widget ‘widget logic’ field to make the ttftitles thing work. all you need is the filter option ticked and the code you’ve put in the functions.php

  239. 239
    jnforyou on 12 Mar 2010 #

    Alan, Thank you for the quick response! The only problem I see now is only the first widget is using the ttftitle. Again, this may be my lack of php knowledge. But after seeing this, I’m wondering if there is something in functions.php overriding this?

  240. 240
    Alan on 12 Mar 2010 #

    the function i supply is tied to a specific format of widget that your sidebar might not be conforming to. the matching expression used “/<h2[^>]*>([^<]+)/” basically takes the first text after a and before the next HTML tag to give to ttftitles. it may be you need to adapt that.

    For troubleshooting, you can check that the filter is working and applying to every widget by changing

    return $content;

    at the end of the function to

    return $content.”WIDGET_CONTENT FILTER WORKING”;

    or something like that, which will add that extra text to the end of each widget.

  241. 241
    jnforyou on 12 Mar 2010 #

    Thanks again! I believe I have it figured out. in my functions the sidebar arrays were calling on:
    ‘before_title’ => ”,
    ‘after_title’ => ”

    I deleted the heading class, because I figured it was overriding the ttftitle and it worked great. Only one widget it giving me trouble, but I am going to check its styling.

  242. 242
    admin on 12 Mar 2010 #

    glad it’s working out for you.

    sorry that the WP comment system mangled my expression code originally (and your before/after_title code too?)

  243. 243
    Monroe Bertotti on 17 Mar 2010 #

    There are some very usefull information here , thanks

  244. 244
    Doug C. on 29 Mar 2010 #

    This is one of my favorite plugins. It works flawlessly and I’ve never had an issue with it. It does what it’s suppose to do and does it very well.

    My only trouble is locating the right conditional tags for the chores I want it to perform. For example, I have a couple widgets I hand coded and I only want them to appear on certain posts. However, I have a lot of posts and sticking them all into a conditional tag like ‘is_page(array(42,55,77))’ would be a pain.

    Is there another conditional tag that I could use to do this task in a more simplified manner?

    Thanks again for the great plugin.

  245. 245
    admin on 29 Mar 2010 #

    you could use tags, post metadata or html comments in the post to control the appearance of widgets, eg:

    on posts tagged Widget X:
    is_single && has_tag(‘widget-x’)

    on posts with ‘widget-x’ in a ‘show_widget’ custom field
    global $post; return (is_single() && in_array(‘widget-x’,get_post_meta($post->ID, ‘show_widget’)));

    i haven’t tested these – i’m just throwing out a couple of ideas that might need tightening up. Hope they give you some ideas.

  246. 246
    Doug C. on 29 Mar 2010 #

    Thanks for the reply, but I was really hoping for something more solid, something tested and known to work.

  247. 247
    admin on 29 Mar 2010 #

    those will work, but i was only suggesting possible approaches. how do you want to control when the widgets appear? give me a specific way of working and i’ll try to work up a specific way to do it.

  248. 248
    Doug C. on 29 Mar 2010 #

    Sorry, wasn’t trying to be difficult. I just wanted to know if there existed some conditional tags that would accomplish what I am trying to do, but in a more simplified manner.

  249. 249
    admin on 29 Mar 2010 #

    no worries. just think of a convenient approach you’d like to try and I’ll see what it suggests

  250. 250
    Doug C. on 29 Mar 2010 #

    There is no approach – I just want to know if there is any conditional tags that can do what I’m trying to do, but in a simpler way.

  251. 251
    admin on 29 Mar 2010 #

    you say “I have a lot of posts and sticking them all into a conditional tag like ‘is_page(array(42,55,77))’ would be a pain.”

    but what sort of condition wouldn’t be a pain if you just want a widget to appear on arbitrary, but set, pages? somehow you need to specify the list of pages, and if it’s not going to be in a brute force listing wrapped in is_page(array(…)), then how?

    my original suggestions were to mark the pages with existing features of WP (tags, custom fields) which are relatively easy to admin when writing/editing the post. rather than having to edit widget logic each time.

  252. 252
    Doug C. on 30 Mar 2010 #

    Ok, I understand what you’re saying now. So how would I have it appear on just blog posts, would I make it is_single && has_category(‘blog’) ?

  253. 253
    Doug C. on 30 Mar 2010 #

    Well I tried out your suggestion. I tagged the blog posts I wanted the widget to show up on with the word “blog”. Then I entered is_single && has_tag(‘blog’) in the widget logic box, but nothing happened.

  254. 254
    Doug C. on 30 Mar 2010 #

    I guess it’s back to Google. Thanks anyway.

  255. 255
    Alan on 30 Mar 2010 #

    my mistake, that should be

    is_single() && has_tag(‘blog’)

    missing () there the first time.

  256. 256
    Doug C. on 31 Mar 2010 #

    That doesn’t work, either.

  257. 257
    Doug C. on 31 Mar 2010 #

    It has to have quotations around it – ‘is_single() && has_tag(‘blog’)’

    Now it works, but the only problem is it shows up on every page.

  258. 258
    Doug C. on 31 Mar 2010 #

    Do you know of a place or maybe someone who knows about these conditional tags? That’s really all I wanted with my first comment – to find someplace or someone who knows what they’re doing.

  259. 259
    admin on 31 Mar 2010 #

    i don’t know what to tell you, is_single() && has_tag(‘blog’) (no extra quote marks) is working here when i test it.

    if you have already checked out the wp forums (linked above) let me know if you find any better place for finding people who know what they are doing wrt WP.

  260. 260
    Doug C. on 31 Mar 2010 #

    I already tried using is_single() && has_tag(‘blog’) and it doesn’t do anything. Maybe it’s my theme. I dunno. I’m sorry. I didn’t mean to come off as rude with that last comment. Thanks for trying to help.

  261. 261
    Doug C. on 5 Apr 2010 #

    Since I could not find any conditional tags to accomplish what I wanted I’m going to create the sidebars myself (in my PHP files) and then code them to appear where I want. Guess I don’t need this plugin anymore then.

  262. 262
    smashing on 7 Apr 2010 #

    Thanks!! I use this plugin in all my sites …

  263. 263
    Doug C. on 8 Apr 2010 #

    A coding friend of mine came up with one that works:


    If anyone needs help with this please let me know for my coding friend obviously knows a lot more about this.

  264. 264
    Alan not logged in on 8 Apr 2010 # implies that is_single(array(…)) and is_page(array(…)) should amount to the same thing. is there a difference? is one of these simpler than the other?

  265. 265
    Doug C. on 8 Apr 2010 #

    Alan, one references pages, the other single posts.

  266. 266
    Alan not logged in on 8 Apr 2010 #

    cheers – so is_single doesn’t work with pages! that is news to me i think.

    so my original attempt should be rewritten as: is_page() && has_tag(‘blog’), so pages tagged appropriately will work, saving you from updating the array every time you write a new page

  267. 267
    Doug C. on 8 Apr 2010 #

    An easier method would be to use:


  268. 268
    Doug C. on 8 Apr 2010 #

    For categories you can use:


    — Returns true if the current post is in either category 1, 2, or 3.


    — Returns true if the current post is NOT in either category 4, 5, or 6 (note the ! at the beginning).

  269. 269
    Athena on 9 Apr 2010 #

    I have an error code. I tried a couple of ways, sorry I’m very new to php. I ended up using an example from post 268

    The error message is
    Parse error: syntax error, unexpected ‘<' in /home/blah/blah/wp-content/plugins/widget-logic/widget_logic.php(161) : eval()'d code on line 1

    Did I enter the code wrong? Thanks! :)

  270. 270
    Athena on 9 Apr 2010 #

    Okay, I’m back. I did enter it wrong I added something extra, oops. Thanks! :)

  271. 271
    Alberto on 26 Apr 2010 #

    What plug-in/widget are you using to show an author’s most read posts when you are reading one of his posts? I am guessing it is a combination of Widget Logic to detect that it is a single page, with some other plug-in or widget to fetch the list of posts. But I can’t seem to find it.

    I think all blogs should have a page like this, showing what plug-ins/widgets were used to setup the blog. Too often you see something you would like to implement on your own site, but have no idea how it was achieved. Keep up the good work!

  272. 272
    admin on 26 Apr 2010 #

    it’s code i wrote myself. there’s a few author specific widgets on FT and nobody seems to have written widgets I wanted that are ‘multi author aware’. most widgets have a single config page and don’t let you do it per author. another (regular) plugin, which i can’t recall right now, updates a post meta_field with the hits.

    the widget logic is ‘is_author()’ – it was ‘is_single() || is_author()’, but the single post sidebar was getting full.

    the core of the widget code is:

    global $wpdb, $wp_query;
    $post_obj = ($wp_query->post);
    $query = “select p.ID, p.post_title, 0+m.meta_value as post_hits \
    from wp_posts as p left join wp_postmeta as m on p.ID=m.post_ID \
    where p.post_author='”.($post_obj->post_author).”‘ and m.meta_key=’views’ \
    order by post_hits desc limit 20″;
    $items = $wpdb->get_results($query);

    and then code looping through $items.

  273. 273
    Alberto on 26 Apr 2010 #

    Thanks! That should do the trick! The post updating the views is probably WP-PostViews, as listed above.

  274. 274
    Matthias on 29 Apr 2010 #

    First of all: great plugin!
    I noticed the following: on a page, where a widget is not shown (because of the widget logic) wordpress creates the widget area div and an emtpy list though. How can I prevent this?

  275. 275
    admin on 29 Apr 2010 #

    short answer: you can’t, not with widget logic.

    long answer, you have to work out which pages won’t have any widgets and switch to a template that doesn’t have a sidebar, or have logic that doesn’t produce a sidebar in those cases, or that uses CSS to display: none the sidebar.

    somewhere up this thread i offered to update WL to add a global $widget_count that would give programatic access to how many widgets had been output on a page so far. nobody seemed keen on that cos you need to know BEFORE you start declaring sidebars which CSS/template to use.

    hope this points you in the right direction

  276. 276
    Matthias on 29 Apr 2010 #

    Thank you for the quick answer. I already tested the “display:none”-workaround. It even works without new templates because you can use the slug class in the body-tag. :)

  277. 277
    David Dwight on 4 May 2010 #

    Hi there,

    Firstly I just want to say this is an amazing plugin, many thanks for making it available..

    I wonder if you could tell me how to do this, I am going insane trying Lol..

    I eventually found out that…


    shows the widget on every page “except” the home page, this is what I need and works very well…

    I also want to make it so it does “not” show on a few more pages.. for example my..


    Could you please tell me how to add more pages…

    I have tried all sorts and still cannot add more pages..

    Many thanks.

  278. 278
    admin on 4 May 2010 #

    !is_front_page() && !is_page(array( … , … , … ))

    i think

  279. 279
    David Dwight on 5 May 2010 #

    Many thanks for your reply..

    I applied this code

    !is_front_page() && !is_page(array( contact , … , … ))

    This stopped the widget showing on my “home” page and my “contact” page superbly…

    Trouble is I could not get it to work with pages that have more than one word in the title..

    For example..


    I tried it for the home page. contact page and the “daily thoughts” page…

    !is_front_page() && !is_page(array( contact , daily thoughts , … ))

    I tried many variations but could not hit the nail on the head?

  280. 280
    admin on 5 May 2010 #


    you should be able to use the page ID (a number), the page ‘slug’ (a string with no spaces in it), or the page title (a full string). but the strings in (definitely the last case) should be in quotes.

    glad it’s working!

  281. 281
    David Dwight on 5 May 2010 #


    The page I.D 65 in this case did the trick..

    !is_front_page() && !is_page(array( contact , 65 , … ))

    Thank you.. I will come back on payday and make a donation to your cancer appeal..

    Many many thanks…. :]

  282. 282
    Tim Haughton on 6 May 2010 #

    I’m struggling with some conditionals. Reading the codex, in Snippet 4, there is the function is_tree($pid). I’ve copied this into functions.php and add is_tree(‘602’); to the Widget Logic bit, but it doesn’t work.

    I changed is_tree to make it just return true, but that didn’t work either, it’s like it can’t see the function I’ve added. What might I be doing wrong?

  283. 283
    admin on 6 May 2010 #

    either the function is not in the right file, is copied and pasted wrong, or the WL code is wrong.

    first check that the function has definitely been added to the functions.php of the running theme. then try calling is_tree() with no parameters. you could also try calling the function elsewhere in your theme – in the footer or somewhere innocuous.

  284. 284
    Tim Haughton on 6 May 2010 #

    I added it to WordPress’ functions.php file, rather than the themes. Is that not…right? <– WP Novice

  285. 285
    admin on 6 May 2010 #

    aha. it should be functions.php in the theme. if there isn’t one, just make one.

  286. 286
    Alberto on 10 May 2010 #

    How have you realized the sliding articles on the homepage? Is that a plugin or widget? I see the sliding effect is some jquery magic, but what query do you use to select the articles to be displayed?

  287. 287
    Alan not logged in on 10 May 2010 #

    it’s not a plugin – it’s custom code in the FT theme that uses which is VERY easy to use

  288. 288
    Alberto on 11 May 2010 #


    How do you select which posts to highlight? What query do you use?

  289. 289
    Alan not logged in on 11 May 2010 #


    another detail (you can see this in the HTML) is that I pass the cycle action an ‘easing’ parameter to make the transition slightly cuter. This is cos cycle can use the easing options provided in this:

  290. 290
    Lee Timotheou on 31 May 2010 #

    Hi there,

    This plugin is great and it works great for me 99% of the time. The reason I’m posting here is because I can’t get it to exclude more than one parent page.
    The code for excluding one page and a parent is;

    global $post; return !(is_page(219) || ($post->post_parent==”357″));

    This works.

    Now when I try to add to this, nothing seems to work, I’ve tried the following and none work;
    global $post; return !(is_page(219) || ($post->post_parent==”357,409″));

    global $post; return !(is_page(219) || ($post->post_parent==”409″) || ($post->post_parent==”357″));

    global $post; return !(is_page(219) || ($post->post_parent==”409″)); || ($post->post_parent==”357″));

    Any ideas as to where I’m going wrong would truly be appreciated!

  291. 291
    admin on 31 May 2010 #

    That 2nd one is in the right form. So if it’s not working it could be that you are using curly quotes or that you have the wrong numbe. In there

  292. 292
    Lee Timotheou on 31 May 2010 #

    Hi again,

    Thanks alot for getting back to me so fast!

    I tried the second one again;

    global $post; return !(is_page(219) || ($post->post_parent==”409″) || ($post->post_parent==”357″));

    It’s not working though, it excludes all the pages apart from the children of 409 and 357. I want to exclude all the children of 219, 409 and 357 but this is not working for me.

    I double checked the numbers and they are correct. What are these curly quotes and what changes would I need to do to my code to make this work?

    Thanks again for your help!

  293. 293
    Lee Timotheou on 31 May 2010 #

    I’ve rechecked my code and actually only work when the same page number is used as below;

    global $post; return !(is_page(219) || ($post->post_parent==”219″));

    So this is what I want, it’s excluding page 219 and all her children.

    All I need to do is add a few other mother pages to the above code, I tried my logic, but it keeps failing! :( Everytime I try to add to this, it just starts excluding all the pages and only including it on the children pages I’m trying to exclude from! It’s like it’s teasing me! :)

  294. 294
    Alan on 31 May 2010 #

    “I want to exclude all the children of 219, 409 and 357”

    then you need to add || ($post->post_parent==”219″) in there too – which is doing the job of excluding the children of 219. the is_page(219) will also exclude page 219.

    when the code is getting a bit repetitious like this, you could try reformulating using PHP’s in_array like this:

    global $post; return !( in_array($post->post_parent, array(219,357,409)) );

    wordpress’s own is_page can take an array for multiple values too, so if you also wanted to exclude those parent pages:

    global $post; return !( is_page(array(219,357,409)) || in_array($post->post_parent, array(219,357,409)) );

  295. 295
    Lee Timotheou on 31 May 2010 #

    “His name is Alan and he’s the man!”

    Thanks buddy!

    I used this code;

    global $post; return !( is_page(array(219,357,409)) || in_array($post->post_parent, array(219,357,409)) );

    It works perfect!

  296. 296
    Chris on 9 Jun 2010 #

    I’m using widget logic on wordpress to show some widgets only for logged-in users. I do this with the tag “is_user_logged_in()” and it works. But now I want it exactlier, so that the widgets are shown only to specific users. Can I do that with this tag and the user-id? or is there any other possibility?

  297. 297
    MundoCaco on 9 Jun 2010 #

    Hello! For my the Widget Logic plugin work very good! Very clear & clean! congratulations! :D

  298. 298
    Rotheblog on 13 Jun 2010 #

    I discovered your plugin just over a week ago and loved it.

    I upgraded tonight to WordPress 3.0. I realize this is a RC, and not finalized.

    But I think the plugin is giving me a problem. I am not sure, however. I have several plugins installed, and cannot seem to isolate it to just one. But I wanted to let you know in case you planned to take a look at the compatibility with the newest version of WP.

  299. 299
    Alan on 13 Jun 2010 #

    Cheers. I tried a local WP3 very quickly and didn’t notice any major changes in the widget code – but i was not putting any real effort in. If you could let me know what the problem was, that would be immensely helpful.

  300. 300
    Rotheblog on 13 Jun 2010 #

    The problem that I can’t isolate to just one plugin is a white screen fail for installation. The plugin doesn’t install, and then I can’t access the plugins menu at all, it just goes to a white screen. I rename the plugin folder on the server as a quick fix…

  301. 301
    Rotheblog on 13 Jun 2010 #

    PS, I am glad I kept this window open. Do you have subscribe to comments on this site? I wouldn’t have known you replied.

  302. 302
    admin on 14 Jun 2010 #

    doesn’t sound like an issue with Widget Logic (if that’s the one you are talking about), it sounds like a much larger issue. but i will take a look.

    our hosting company limit the plugins we can use, so we’ve not got any ‘subscribe to comments’ functionality. i’m not even sure they would let us send e-mail from the server.

  303. 303
    admin on 16 Jun 2010 #

    I have again briefly checked WL on WP3 and if there is a problem it’s not obvious to me yet.

  304. 304
    Ross on 21 Jun 2010 #

    Thank you, this is by far the best widget I’ve found! There is no way I would have been able to get the look I wanted without it, plus it works perfectly…

  305. 305
    jnforyou on 1 Jul 2010 #

    I’m back with another question about widget logic with ttftitles. This time alternating styles. Currently in the functions file my two widgets look like this:
    if ( function_exists(‘register_sidebar’) )
    ‘name’ => ‘standard’,
    ‘before_widget’ => ”,
    ‘after_widget’ => ”,
    ‘before_title’ => ”,
    ‘after_title’ => ”,

    if ( function_exists(‘register_sidebar’) )
    ‘name’ => ‘footer’,
    ‘before_widget’ => ”,
    ‘after_widget’ => ”,
    ‘before_title’ => ”,
    ‘after_title’ => ”,

    Now, I’ve tried to add the “widget_style_a/widget_style_b” code supplied on the widget logic plugin homepage to replace the original filter code for ttftitles, but I’m not sure the exact values that need to be addressed changed in regards to how my css works. Any help is much appreciated Alan. Thanks

  306. 306
    jnforyou on 1 Jul 2010 #

    whoops, i actually have a div container stated after “before widget”=>
    (div id=”%1$s” class=”widgetfooter %2$s)
    and it closes right after “after_widget”=>

  307. 307
    Linda Nieves on 3 Jul 2010 #

    Thank you for the time you spent on this post. Know that your work is much appreciated. Keep it up!

  308. 308
    Online web hosting on 6 Jul 2010 #

    This is really interesting. This is one of the reasons that I love surfing. You’ll never know what you’ll find.

  309. 309
    Valeri-Teodor Ivanov on 13 Jul 2010 #

    firstly, I would like to say how much I LOVE THIS PLUGIN. Good job Alan!
    Secondly, I have an issue:

    I want to show a particular widget ONLY on ONE child page. Can anyone please tell me how?

  310. 310
    Alan on 13 Jul 2010 #

    just one specific page, or one child page per parent page? You should be able to get what you need between


  311. 311
    Filippo on 15 Jul 2010 #

    I’m using widget Logic (0.47, with WP 2.9.2) and I’m trying to use more than one condition but it doesn’t work.
    I tried to write something like this
    is_category(‘cat_name’) && has_tag(‘tag_name’)
    and something like this
    is_category(‘cat_name’) && is_tag(‘tag_name’)
    but neither of them work.
    Any idea?
    Thank you in advance

  312. 312
    Alan on 15 Jul 2010 #

    if you want the widget to appear when either one OR other of two conditions is true, then that needs an OR. if you use AND it will only appear when both condition one AND condition two are true.

    AND = &&
    OR = ||


  313. 313
    Filippo on 16 Jul 2010 #

    Thank you. I treid again but the tag sentence doesn’t work. If I try to write only the category sentence it works, if I try only the tag one it doesn’t work…
    obviously if I try both they don’t work.
    Any idea? Maybe a spell mistake?
    Thank you again

  314. 314
    Alan not logged in on 16 Jul 2010 #

    careful of the difference between is_tag (this is the tag page X) and has_tag (this post has the tag X)

    other than that, and looking at the codex page, I don’t think I have any more advice, sorry.

  315. 315
    Filippo on 16 Jul 2010 #

    I understand the difference between is_ and has_ but what I mean is that simply this sentence doesn’t work, and I don’t know why… Don’t you know about conflicts with other plugins?

  316. 316
    admin on 16 Jul 2010 #

    There are conflicts with some plugins but they are with widgets and widget-altering functionality, not with conditional tags. Take a look at the FAQ (link above) for some troubleshooting ideas.

  317. 317
    Tom on 20 Jul 2010 #

    For some reason when I enter some widget logic code, the widget is removed from all pages rather than the single page. I’ve tried is_page(#) and is_single(#) and in each case the widget dissapears completely from the site on every page. Also, I can’t seem to get is_page(array(#,#,#)) to work. Any help would be great.

  318. 318
    Alan on 21 Jul 2010 #

    have you checked what happens in a default theme (many themes have code that interferes with some conditional tags working as expected)?

    A useful way to troubleshoot generic problems like this is to use a PHP widget (set with no Widget Logic so it always appears) and get it to print_r the conditional tag, so eg print_r(is_page(6)) or whatever it is you are putting in instead of #

  319. 319
    ratreides on 25 Jul 2010 #

    Hi Alan,

    Been a long time happy user of Widget Logic and congratulations on your plugin!

    I have a question.

    I am developing a WordPress site that is mainly based around Pages not posts.

    I have a need to have different content in various widgets within sidebars for about 100 Pages.

    Would the use of the ‘widget content filter’ option allow me to ‘pull’ different content for each widget depending on the Page ID?

    Whilst I am not a coder if I knew it was possible I could hire a coder to do it for me.

    Please advise.



  320. 320
    Alan not logged in on 27 Jul 2010 #

    You could, but that would be a very roundabout way of doing it. Sounds more like you need a widget building – the key to which will be knowing how to link the page ID with the content you want to appear

  321. 321
    Freewomyn on 27 Jul 2010 #

    This might be a stupid question, but I am confused, even after reading the FAQ and other documentation available over at the the WP plugin site.

    Where exactly do I put the code? I’ve tried putting it in the Widget logic box in the widget itself, but this doesn’t seem to do it.

    I’m running WP 3.0 and Thesis 1.7. Don’t know if that makes a difference.

  322. 322
    Phil on 28 Jul 2010 #

    This pluggin work on WordPress 3.0 ? Doesn’t appear to…

  323. 323
    admin on 30 Jul 2010 #

    I’ve just updated this site (FT) to WP3 and widget logic is working fine with WP3. I’m looking for anyone having problems with WL and WP3 that’s willing to try some troubleshooting. A small minority of people seem to have problems with WL and WP3, and I’d love to know what combination of configurations they have that are causing the issue.

  324. 324
    Jon on 31 Jul 2010 #

    I’m trying to use Widget Logic to keep a widget from appearing on a specific page, as well as from appearing on any page from a specific category (the page number is 6243 and the category number is 31). This is what I placed in the “Widget logic” field of the widget in question:

    !is_page(6243) || !in_category(31)

    Using that string, the widget still appears on page #6243 and all entries from category #31.

    If I place in the “Widget logic” field only “!is_page(6243)”, the widget no longer appears on that page … but once I add “|| !in_category(31)” to the string, it breaks.

    Also, if I enter only “!in_category(31)” into the “Widget logic” field, the widget no longer appears on all pages within category #31 … but once I add “|| !is_page(6243)” to the string, it breaks.

    Any ideas?

    (I’m using WP 3.0.1)

  325. 325
    Alan not logged in on 31 Jul 2010 #

    You want

    !(is_page(6243) || in_category(31))

  326. 326
    Steve Ovens on 3 Aug 2010 #

    Hey Alan,
    Great job on Widget Logic plugin. Got a curly one for ya!
    I’ve hit an interesting corner case in the logic. My page slug actually contains the word “return” – the slug is “investment-returns”.
    So my initial logic is_page(‘investment-returns’) was throwing unexpected $end errors.
    I tracked it down to line 155 (I’m running version 0.47):
    $wl_value=(stristr($wl_value, “return”))?$wl_value:”return (“.$wl_value.”);”;

    In other words – if string CONTAINS the word return then use “as is” otherwise wrap in “return (…);” to evaluate to true/false.

    Of course, in my case, the string DOES contain “return” – so it never gets “wrapped”.

    I can code around it by putting “return (is_page(‘investment-returns’));” in my widget logic – but I’m giving this to my end-user to update and that could confuse them.

    So, I have added an extra line after 155 to check that the condition STARTS WITH “return”:
    $wl_value=(stripos(trim($wl_value), “return”)==0)?$wl_value:”return (“.$wl_value.”);”;

    I’m sure there is a more elegant way of doing this – this is a quick hack.

    Anyway – thought I’d pass it on. Hope this helps!


  327. 327
    Jamie Northrup on 4 Aug 2010 #

    Great WordPress Plug-In, will be featured as the Plug-In of the day on our website on August 18th.


  328. 328
    admin on 4 Aug 2010 #

    steve – yes that issue has cropped up a couple of times with people. The problem with your 2nd workround is that often logic doesn’t have to start with ‘return’ – you can have multiple statements separated by ‘;’ and then the final one does a ‘return $value;’.

    The only way to detect if a ‘proper’ return statement is in the string is a full parsing of the code – which is way beyond what I want to do with the plugin! My first pre-release version of WL opbliged you to supply full code like “return is_home();” but when it became obvious that 90% of logic would be a simple conditional tag, I added the code to wrap it in return ().

    If you want to hide the complexity of full statements from your users, just mandate it always has to be a single statement, and then change that line 155 to ALWAYS wrap it.

    Jamie – awesome. thanks for the heads up

  329. 329
    Adam Roberts on 5 Aug 2010 #

    Thanks for the work and upkeep on this interesting widget.

    I’m having some trouble. The actual widget is not appearing in my Admin. I get the Widget Logic Options menu at the bottom of the page, but it’s not appearing in my widget list above. Since it’s in my admin page, I assume this has nothing to do with my theme. Any ideas?

    …clearly I should’ve explored more…I just noticed the fields added to all my widgets…sorry to waste your time.

  330. 330
    Mitch on 10 Aug 2010 #

    Will widget-logic get an update for wordpress 3.0.1? That’s the version of wordpress I’m using, but the available download in the wordpress plug-in directory has the version for wordpress 2.9.2.

  331. 331
    JC on 11 Aug 2010 #

    I can’t seem to get WL to work on my WP 3.0.1 at all. Even the simplest is_single() or !is_single() doesn’t work… my widgets appear no matter what. The WL version is 0.47. The wordpress plugin page says that it works with 3.0.1, with 7 people saying it works, but no luck here.

    Perhaps it’s something with my theme? I’m open to suggestions. Thanks and I’m really looking forward to getting this valuable plugin working.

  332. 332
    Alan not logged in on 11 Aug 2010 #

    It might be your theme, yes. Try switching (briefly) to a standard theme – the new twenty10 and the old default themes work OK

  333. 333
    Alan not logged in on 11 Aug 2010 #

    Mitch, it works fine with 3.01, you’ll see the compatibility widget on shows 100% of people say it works (well so far).

    I haven’t had time to get into my code repository and update the ‘compatible up to’. I want to put in some small tweaks to the code too, so i’ll save it til i get that time.

  334. 334
    JC on 11 Aug 2010 #

    @Alan – Thank you sir I got it working. Turns out I removed wp_head(). Once I put it back in it worked like a charm. Thanks again!

  335. 335
    gourmetfoodss on 14 Aug 2010 #

    OH! Great

    this arcticle is interesting. Do you agree with me?

  336. 336
    Sion on 17 Aug 2010 #

    I have a questions using the plug-in. The site I am working on have page and sub-pages structure as follow:

    – Overview (products/overview)
    – Overview (solutions/overview)
    The problem those page have the same name and it can not be changed.

    How can I get the plug-in to recognize the sub pages which have the same name (Overview) based on the main page without changing its name?

    Not sure if you understand what I am trying to do any help would be greatly appropriated.

    Thank you.

  337. 337
    admin on 17 Aug 2010 #

    You could use the page’s numerical ID rather than the name/slug. One way that you can get the ID of a page by hovering over ‘edit’ in the list of pages and seeing what it says post= in the URL of the link

  338. 338
    Sion on 18 Aug 2010 #

    I’ve made that suggestion but that’s a no go. They want to keep the name because of site map and external links. So page id is not an option. I also mentioned to change the name to solutions_overview and products_overview and that’s not an solution either. :-(

  339. 339
    Sion on 18 Aug 2010 #

    is there a way to work around that?

  340. 340
    Alan not logged in on 18 Aug 2010 #

    i meant you can use the ID in the widget logic – there’s no reason not to use the ID there. I am assuming you want something like widget A to appear on Overview (the child of Products) and widget B to appear on Overview (the child of Solutions).

    Then in widget A you use logic like is_page(105) and widget B you use logic like is_page(209)

    This should have no bearing on site map or links.

  341. 341
    Sion on 18 Aug 2010 #

    Alan, it works. I thought I have to change Permalinks to display page ID in order for it to work. Thanks for your help.

  342. 342
    Deb - Mom of 3 Girls on 16 Sep 2010 #

    I love this plug-in – it’s been a huge help, especially since some of the posts on my product review site are supposed to appear on ad-free pages and this widget gives me an easy way to categorize my posts so that will happen correctly. It’s been working perfectly for me, and still is with one small exception that I just noticed tonight.

    I use “!in_category(‘BH Review’)” on the widgets that I don’t want to appear when the post is in that category, and that part is still working perfectly. But – all of a sudden on my main blog page, those widgets aren’t showing up either. Not having any of my ads on my main page is definitely a concern, so I’m hoping that you might have an idea of why it’s doing this all of a sudden?

    My blog is The posts in the “BH Review” category are the ones where the ads don’t show up – they do show up (as they should) for single posts in every other category. But not on the main blog page… Help!! And thank you!

  343. 343
    Alan not logged in on 16 Sep 2010 #

    !in_category will also return true or false on any page that has a list of posts where the last post is in that category (sometimes it’s the last post, depending on how crazy the code in a theme is).

    so you just need to tighten up your logic. something like

    !(is_single() && in_category(‘BH Review’))

    ie don’t show it when it’s a single post that’s in that category.

  344. 344
    Stephen Johnson on 5 Oct 2010 #

    Widget Logic… I LOVE you :)

  345. 345
    Alan not logged in on 6 Oct 2010 #

    Aw lovely. Tell it to the totaliser:

    Currently 200 quid, 40% of my target

    But, THANK YOU :-D

  346. 346
    Ildi on 19 Oct 2010 #

    as it was said heaps before me, this plugin is awsome!

    There are all sorts of complicated scenarios in the comments and I can’t work out what I need to do. I’m sure it’s been covered before but I can’t seem to find it – what do I do to apply widget logic to child pages as well as the parent one. (I guess I can just name all the pages separately but that means if a new child page is added later, it won’t be included automatically, right?) many-many thanks!

  347. 347
    Alan on 19 Oct 2010 #

    In the OTHER NOTES section of the WP repository is an example using get_post_ancestors that you can adapt that will cover children and even grandchildren posts (and so on, at least I believe). You need to add in an extra test to check if the current post is the parent too, so an || $post->ID==77, or something like that will do the trick.

  348. 348
    B on 11 Nov 2010 #

    good hostings

  349. 349
    Michia Monique on 11 Nov 2010 #

    CHECK OUT singer/songwriter MICHIA MONIQUE ON

  350. 350
    Michael on 29 Nov 2010 #

    Widget Logic is really nice!!!!

    I’m building a website where I would like to put unique content on both sidebars on nearly every page.

    Are my expectations unreasonable? Can Widget Logic pull this off?

    Thank you in advance!!!

  351. 351
    Markus on 9 Dec 2010 #

    I’m trying to write some conditional statements and I’m having trouble combining statements. Do you have examples of combining statements???

  352. 352
    Nimaro on 28 Dec 2010 #

    Hy there,
    this is a great plugin to easy manage the widgets on my website.

    But im aving problems to put 1 widget happering in the categorys…
    home(), pages(), is_single() works just fine… but when i try to put on category it dosent hapear anything. And i dont knwo where the problem may be.
    Can u help finding the problem here?

  353. 353
    Alan on 28 Dec 2010 #

    what logic are you using to identify a category?

  354. 354
    S.Wright on 9 Jan 2011 #

    Good day and happy new year!

    I too am delighted with your widget-logic plug-in, and it is working very well allowing me to display social icons only on defined pages. But, I am also trying to restrict a series of RSS feeds to a single page.

    I am in WP 3.0.4, and I CAN display more than one feed in a page through the WP base framework–I am NOT using an additional RSS plugin or widget plug-in,– but I cannot get widget-logic to restrict those feeds to a dedicated page. Is there something “extra” I must do, or is there something inherently conflicting between feeds and the plug-in? I am using the conditional is_page(‘Name of Page I Want the Widget On’)

    Your consideration is much appreciated. Thank you and best wishes!

  355. 355
    S.Wright on 9 Jan 2011 #

    PS to RSS Q:

    By the way, I wish to come back and say that I CAN restrict the feeds to the homepage using is_home(). But, I want to restrict the feeds to another page. I have tried writing the page name in the conditional to be case sensitive as they are written in the navigation menu, to be all lower case, and to place dashes between each word in the title. None work. Am I missing something? Thank you, again! / S.W.

  356. 356
    S.Wright on 9 Jan 2011 #

    Sigh…sorry to clutter your board! I have just found that the plug-in also will not work with a simple text field in that widget area. Could there be something wrong with the widget code itself or its interaction with the plugin? I have no idea how to check for this or even what to do if I found a problem. I am so sorry for the hassle. I hope you are still checking this board! Cheers!

  357. 357
    vehicle registration search on 10 Jan 2011 #

    Hi there! I’m at work surfing around your blog from my new iphone! Just wanted to say I love reading your blog and look forward to all your posts! Keep up the great work!

  358. 358
    Jeff Carter on 20 Jan 2011 #

    I get how to use Widget Logic to allow widget to conditionally *appear* on specific pages, but what conditional tags exist to *suppress* a widget from appearing on specific pages? For example, I want a widget to appear on every page except for, say, the “About” page. What is the conditional tag to suppress a widget from displaying on only that one page?


  359. 359
    Jeff Carter on 20 Jan 2011 #

    After thought to my initial post…

    Right now I’m thinking the workaround is to use an array with is_page() to include all the pages (except the one(s)) that I want the widget to appear on. Please tell me there’s a better solution. ;-)

  360. 360
    Jeff Carter on 20 Jan 2011 #

    I figured it out the solution to my original inquiry:

    ! (is_page('about'))


  361. 361
    Jeff Carter on 21 Jan 2011 #

    Oh, geeeeeeze! I was just at the Widget Logic plugin site on WordPress and saw the examples. Turns out the solution is even slightly simpler than what I posted.


    The ironic thing is that the example is the same example I inquired about. LOL! :-)


  362. 362
    Tomas Kapler on 25 Jan 2011 #

    Not sure if someone allready has reported but when wp-debug is set to true

    Notice: Undefined index: callback_wl_redirect in /httpdocs/wp-content/plugins/widget-logic/widget_logic.php on line 137 appears manytimes

  363. 363
    admin on 31 Jan 2011 #

    100k downloads from, and 250 quid raised for charity.

    i really must put in all those little tweaks and improvements suggested in the comments above – for which many thanks everyone.

  364. 364
    Lloyd on 1 Feb 2011 #

    I have no problems using single words example: in_category(Education) , but when I try using Health & Fitness, in_category(Health & Fitness), it doesn’t show-up in my side bar.

    Any clue?



  365. 365
    admin on 1 Feb 2011 # seems to think that should be fine (so long as you are putting in the quotes). to troubleshoot you could try putting in

    print_r( wp_get_object_terms( $id, ‘category’))

    in your code, where $id is any post ID in the category you are having problems with. This will print an array of varying IDs and strings that you can use to match that post with in_category(X).

  366. 366
    Lloyd on 2 Feb 2011 #

    Thanks so much for your response, I made a simple change and it worked:

    Health & Fitness





  367. 367
    geris on 8 Feb 2011 #

    Hello to all, i’m looking for a solution on my website

    As you can see, my home page redirect on two different section of the website, translated with ZDMultilang plugin and
    (i’m translating in this days)

    What i’m looking for is a conditional tag that select the widgets for each language, showing respectively the italian widget when user navigate through the italian section, and the respective for english.
    I can’t use categories or IDpage beacuse ZDM plugin maintain the same Id page and only add “en” or “it” after the home page URL
    Some workaround for this?
    Thank’s for your help.

  368. 368
    Alan on 8 Feb 2011 #

    i don’t know that plugin well, but the FAQ implies you can get the locale code with the function zd_multilang_get_locale()

    so try zd_multilang_get_locale()==’it’


  369. 369
    Black Cab Knowledge on 9 Feb 2011 #

    One of the better plugins, thanks.
    Just spent the best part of 6 hours looking through a load of widgets, switching widget-logic on and off, to discover a rogue – instead of _ and a mispelled !is_archives() instead of !is_archive()

    the background colours of the theme (this-just-in) had disappeared, very strange anyway i digress cheers

  370. 370
    hstilo on 16 Feb 2011 #

    I have activated the Widget Logic AND TTF Title plugins in the hopes of replacing widget titles with images.
    I’ve been at it for days but just can’t seem to get it no matter what snippet I try (or where I try to put it).

    I am using the 2010 Weaver theme. is the site.

    ANY help/insight would be much appreciated!!

  371. 371
    Alan on 16 Feb 2011 #

    Have you put the example code on in your theme’s functions.php file?

  372. 372
    hstilo on 17 Feb 2011 #

    Hi Alan,
    I have tried that. I have activated the ‘widget_content’ filter. I have also tried activating the ‘wp_reset_query’ fix.

    I have tried putting the example code into the functions.php file, also a 2010functions.php file that is there AND a section that the theme has for pasting snippets.

    The theme is a child theme of Twenty Ten.I thought that may be a reason why it isn’t working. So I tried activating Twenty Ten and placing into that functions.php file. Nada. I’m stumped.

  373. 373
    admin on 17 Feb 2011 #

    the wp_reset_query option is not relevant here – so forget that.

    the add_filter line and ttftext_widget_title function need putting in just once in the theme’s functions.php file – if you have it multiple times you will probablt end up with errors.

    troubleshooting steps you could try that I can think of.

    first check ttftitles is working ok. put

    the_ttftext( “test text”, true )

    somewhere in your theme’s php, or in a php widget perhaps. that will output a gif of ‘test text’ in the default style.

    if that’s OK, then change the widget content filter to something more basic like:

    function ttftext_widget_title($content=”)
    { return “WIDGET CONTENT FILTER IS WORKING”.$content;

    to add that text before every widget. Also just to check you are using actual widgets – not the theme’s default sidebar appearances – the widget_content filter only works on the widgets you configure in admin ‘appearance > widgets’

    if none of that helps, i don’t know what else I could offer other than to get stuck in to your server myself.

  374. 374
    hstilo on 19 Feb 2011 #

    Hello Again,
    In the end it was so simple I could kick myself. Basically, it was the code that you suggest all along. BUT I had to replace wherever it read h2 to read h3.
    Thanks again for all the help and the great plugin!

  375. 375
    Alan on 19 Feb 2011 #

    ha ha! yes that would do it! i should add a note to the effect that you need to adapt that code to the specifics of your theme. cheers, and i’m glad it worked out for you.


  376. 376
    Sebastian on 20 Feb 2011 #

    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?


  377. 377
    Sebastian on 21 Feb 2011 #

    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!

  378. 378
    kyko Garcia on 23 Feb 2011 #

    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

  379. 379
    admin on 23 Feb 2011 #

    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…

  380. 380
    lisa on 2 Mar 2011 #

    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!

  381. 381
    Alan on 3 Mar 2011 #

    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)

  382. 382
    Erwin Odendaal on 29 Mar 2011 #

    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

  383. 383
    You Daddy on 4 Apr 2011 #

    Upgrade you lazy mother fucker!

  384. 384
    Jason on 15 Apr 2011 #

    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?

  385. 385
    nbawoman on 12 May 2011 #

    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

  386. 386
    Buck on 4 Jun 2011 #

    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?

  387. 387
    Willy on 4 Jun 2011 #

    Hello, I try use the “Relocate Upload” and is not compatible with current WordPress Version. Will you release update for this plugin?



  388. 388
    Buck on 8 Jun 2011 #

    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

  389. 389
    linzinz on 22 Jun 2011 #

    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?

  390. 390
    Dede on 28 Jun 2011 #

    Thanks, widget logic is simple used by all the people

  391. 391
    the_owl on 19 Jul 2011 #

    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

  392. 392
    local business listing on 21 Jul 2011 #

    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.

  393. 393
    Moogle Stiltzkin on 24 Jul 2011 #

    Widget logic made an ugly white bar appear on my site.

    When scrolling it’s particularly noticeable.

  394. 394
    Chad on 25 Aug 2011 #

    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

    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));

  395. 395
    admin on 26 Aug 2011 #

    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

  396. 396
    Burton on 14 Sep 2011 #

    This excellent website rocks !. I regularly discovered something new & unique listed here. I appreciate you for that data.

  397. 397
    Karlene Bellize on 16 Sep 2011 #

    Great website. The posts are good and informative.

  398. 398
    Ricardo Elsewhere on 30 Sep 2011 #

    This plug-in is a godsend.I’m going to your donation link now!

  399. 399
    marv on 1 Oct 2011 #

    newbie. i installed the widget to make sidebars not appear..
    how do i so that?where do i go?

  400. 400
    Sheya on 4 Oct 2011 #

    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

  401. 401
    Theodore Marvel on 4 Oct 2011 #

    Thanks for the plugins, I’ll add them to my lists.

  402. 402
    Gehaktballen maken on 15 Oct 2011 #

    thank you for the helpfull plugin;) i am using it for my blog gehaktballen maken

  403. 403
    Eric on 21 Oct 2011 #

    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?

  404. 404
    Alan not logged in on 22 Oct 2011 #

    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.

  405. 405
    Ashley on 15 Nov 2011 #

    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:


    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.

  406. 406
    Alan not logged in on 15 Nov 2011 #

    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

  407. 407
    Simon Booton-Mander on 3 Dec 2011 #

    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,

  408. 408
    wrsowner on 28 Dec 2011 #

    @Simon Booton-Mander – use the following:


    will show the targeted widget everywhere but the designated home page (or front page setting of the WP site).


  409. 409
    Justin on 3 Jan 2012 #

    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.


  410. 410
    Alan not logged in on 3 Jan 2012 #

  411. 411
    Derry on 3 Jan 2012 #

    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!

  412. 412
    Alan not logged in on 3 Jan 2012 #

    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.

  413. 413
    Eve Kurzer on 14 Jan 2012 #

    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:

  414. 414
    admin on 15 Jan 2012 #

    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

  415. 415
    Grace Visconti on 25 Jan 2012 #

    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?

  416. 416
    Braudis on 31 Jan 2012 #

    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?

  417. 417
    Braudis on 31 Jan 2012 #

    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?

  418. 418
    Braudis on 31 Jan 2012 #

    I think I’ve got it working now.

  419. 419
    Penelope on 31 Jan 2012 #

    I’m trying to get the weather widget to only appear on the home page of my wordpress site

    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

  420. 420
    admin on 31 Jan 2012 #

    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 i’ll have a quick look soon

  421. 421
    Penelope on 31 Jan 2012 #

    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
    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

  422. 422
    Board Directory on 4 Feb 2012 #


    i find this to be the best plugin out there of its type. And find it very handy to use the short space we have for widgets.


  423. 423
    Eileen on 18 Feb 2012 #

    I am having a nightmare with mine. and could really do with advice. I have placed some graphic widgets on my sidebars and they are great when on the home page or on the other “pages” pages. But if they land on a category I get a big brown box that is actually going over my tour summary boxes (from the transfers and transport widget) and falling off the page on the right hand sidebar (for the other widgets). I dont know what I am doing wrong. If I put is_home_page() it disappears, i have tried is_front_page() and I have even tried taking it off the category pages by using !is_category(). Nothing works. I either lose it completely from the home page or if I dont put anything in the logic then it is fine on the home page but the problem comes back into the category pages i.e. 01 Day Tours for example you will see the brown box comes back up. Can anyone help?

  424. 424
    Alan not logged in on 18 Feb 2012 #

    Eileen, your problem appears to be a CSS problem. your home page BODY tag has a simple class of “home blog” but the category pages BODY class is (e.g.) “archive category category-01-day-egypt-tours category-57 parent-category-tours-of-egypt” which is very different and the result is different CSS rules get applied.

  425. 425
    Eileen on 18 Feb 2012 #

    Hi Alan, thanks for getting back to me. I have absolutely no web design experience at all, our web designer put all the main bits on the website but has failed to respond to me in over a week to try to resolve this problem. And now I’m trying to fix it myself :-) what do I do then to only have the widgets on the home page? or even if its possible on the home page and on the other pages rather than the category ones? most importantly it is the home page I really need them on. But ideally if I could have them on the other pages except for the actual tours or tour summaries. thanks for your help so far Alan xx

  426. 426
    Eileen on 18 Feb 2012 #

    Alan, also for example on the individual tours this sidebar is over-writing the key information on the tours too… and so I need to take them off there also.

    Thanks again, Eileen xx

  427. 427
    Alan not logged in on 18 Feb 2012 #

    you mentioned trying is_front_page(), but not is_home() so try that

  428. 428
    Eileen on 19 Feb 2012 #

    Alan! you are my hero!

    First of all when I did is_home() it didnt work, it took itcompletely off the home page as well, and I had tried it before and the same thing had happened. However this time I did it again following your advice but also I checked the box …. Use ‘wp_reset_query’ fix [save] and WOOHHOOO it worked! I cant thank you enough Alan.

    I have also tried putting or is_page() but that takes it off the home page as well again, so I will not push my luck any more :-) I am just delighted that at least I got it on the home page and I can play around with it further later on. For now, it has definately fixed the problem.

    I am so so glad I found this site, you are all fantastic to help us all out like this.

    Well done freaky trigger!! I am going to make a donation right now.

    And Alan! I cannot thank you enough.

    Have a brill weekend!

    Eileen xxx

  429. 429
    Alan on 19 Feb 2012 #

    Thanks for the donation!

  430. 430
    krishnamoorthy on 21 Mar 2012 #

    kalki story

  431. 431
    Erica on 27 Mar 2012 #

    How do I add widgets on multiple pages? I wanted to have it on is_front_page() and also on other page?

  432. 432
    Alan not logged in on 28 Mar 2012 #

    You can use || between 2 tests to check if either test A or test B are true, e.g. is_front_page() || is_author(‘alan’)

  433. 433
    Robert_ITman on 6 Apr 2012 #

    Just upgraded to Widget logic version 0.51 and suddenly we have ‘META’ and ‘ARCHIVES’ on our home page — but nothing like these in our widgets – how do we hide these? where did they come from?

    Solved with adding a blank text widget with blank ‘Widget logic’ to our sidebar then they go away – is it possible version 0.51 now somehow adds a default ‘META’ and ‘ARCHIVES’ when no widgets set on the home page..?!

    P.S. we hide our widgets from certain pages using ‘Widget logic’ !is_page( array( 188, 282 ) )

  434. 434
    Alan on 8 Apr 2012 #

    Not quite. Your theme has default sidebar contents when there are no widgets. The new WL code properly tells WP when there are no widgets so this default content appears. Gonna add this to the FAQ when I (finally) get round to the ‘late loading’ extra coding I promised weeks ago :-(

  435. 435
    Luwak on 11 Apr 2012 #

    Nice Work. This Plugins Too Good To Be Forgotten like a cup of Coffee in the morning. I love This. By the way, Coffee has a time guys.

  436. 436
    Cindy on 12 Apr 2012 #

    Thank for this useful plugin. Anyway how can I post a sidebar on selected multiple pages only?

  437. 437
    Rubén on 4 May 2012 #

    Good morning, I’m Spanish, sorry if my English is not good.

    I have 3 days with a problem to make something very simple.

    I want a widget to display only the file index.php, but repeats the widget at: /page2/ & /page/3/ & /page/4/ & /page/5/ and so indefinitely.

    Any solution?.

    Thank you.

  438. 438
    tony on 8 May 2012 #

    i am struggling to get a plugin that can act as a filter to filter my site for price and certain tags. I dont know how i can do that. Please can you reply

  439. 439
    Alan not logged in on 8 May 2012 #

    I’m afraid you are going to have to expand on that description, tony.

  440. 440
    Grim Cris on 9 May 2012 #

    After the last update, I can’t upload pictures on my blog anymore. I don’t know why, it says “HTTP Error” after I wait a wile and nothing happens. If I Deactivate the plugin, it’s ok.

    Knows anyone why?

    P.S.: I’ve noticed this issue on two different blogs hosted in two different places.

  441. 441
    Alan not logged in on 9 May 2012 #

    You’ve got me there – I have absolutely no idea, sorry. And I can’t think of a way of helping you troubleshoot, short of giving me admin access to a site displaying this behaviour.

    could it be that some of your logic outputs text? try removing the widget logic from widgets one by one to see if blanking one of them stops this from happening – you can always save out your current WL config for safe keeping.

  442. 442
    JEB on 16 May 2012 #

    May Day! May Day!

    We recently learned that the IDXpress plugin by Diverse Solutions does not function properly when WL is activated. This is a really tough spot to be in because our site relies so heavily on both widgets that it simply cannot do without one or the other. The IDXpress plugin is a dynamic real estate mls/property search tool that works perfectly when the WL widget is inactivated. However, when WL is activated, the property slide show component of the plugin fails to work.

    Your plugin is simply a must have for anyone that uses WordPress and I so hope that you might have some guidance for us.

    Here’s an example page: http://califund[dot com]/idx/mls-p820512-359_mountain_ct_brea_ca_92821

    Thanks in advance for any help you might be willing to offer.

  443. 443
    Alan not logged in on 17 May 2012 #

    I assume that as the slideshow in that page linked works, that you have deactivated WL. I’d need to see what it and the HTML looks like when WL is active to guess at the problem

  444. 444
    Chris on 18 May 2012 #

    Never had a problem with widgets now there is a delay when using and when I take blank widget to use most times I have to click on widgets again to use another one because it is greyed out any help thank you

  445. 445
    b00y0h on 24 May 2012 #

    getting errors on v 0.52:

    Parse error: syntax error, unexpected ‘;’ in /home/jinga/public_html/system67/wp-content/plugins/widget-logic/widget_logic.php(270) : eval()’d code on line 1

  446. 446
    Alan not logged in on 24 May 2012 #

    something is wrong with the code in your widget-specific “widget logic”

  447. 447
    Berry on 4 Jun 2012 #

    Thank for this useful plugin. I think I’ve got it working now :-)

  448. 448
    Joey O'Connor on 5 Jun 2012 #

    I recently installed Widget Logic and love it for the customized landing page I created.

    My only problem is that my sidebar disappears on my regular blog posts. Here are a few samples. Any help you can give is appreciated.

    when I created a new post, my homepage sidebar does not show up. Here are the three links:


    Custom Side Column (page)

    Latest Post (Side column not showing)

    Also, I’m not sure if this is a WordPress issue or Widget Logic, but ever since I started using WL, my two most recent posts are showing up in the #2 & #3 position and my older post remains at #1 (Eric Nykamp post).

    Thanks for your input!

  449. 449
    Talina on 15 Jun 2012 #

    The new wordpress upgrades have left this plugin and my site a bit wonky. For now the plugin is disabled but this is the error header thing it’s causing:

    Any idea what I can do to fix this?

  450. 450
    Alan not logged in on 15 Jun 2012 #

    “parse error…eval()’d” indicates you have badly formed widget logic code in one of your widgets. 2 errors suggests two different widgets have similar problems. you can work out where the problem is by blanking (and later restoring) the logic and seeing if it makes a difference

  451. 451
    Alan not logged in on 15 Jun 2012 #

    @joey #448, looks like you home is fine, so I’m going to guess you fixed it?

  452. 452
    Brian on 6 Jul 2012 #

    I have used widget logic for over three months on a development site.and i am very pleased with it. I uploaded to 0.52 and immediately Nextgen galleries could not locate either galleries or pictures.

    It came the same day i upgraded word press 3.4.1and suffusion 4.2.4 so i was not sure of the underlying cause

    After a bit of testing i was able to switch the error in Nextgen on and off simply by loading unloading Widget Logic.?

    Any thoughts

  453. 453
    Alan not logged in on 6 Jul 2012 #

    i am trying to think what difference deactivating and reactivating WL would make? I’m afraid I don’t know enough about nextgen galleries to know at what level WL could be interfering.

    One new thing to try is the ‘Load logic’ setting which sets the point that WL starts to be checked – if you set it from the default ‘early as possible’ to a later point, see what difference that makes. Of course, you are all set now (for whatever odd reason!), but for next time. Glad you are ok tho.

  454. 454
    Piero on 12 Jul 2012 #

    Hi there!
    First of all, nice job i found Widget Logic very useful.
    Thank you!

    Second, i am using it on website based on wordpress 2.9.2 that i am not going to update to an newer version.
    I never had any kind of problem before, but today casually i found an error message under admin panel / widget section.
    I wasn’t able to expand any of the sidebars in this section there in the admin section. The website works well anyway.

    Fatal error: Call to undefined function submit_button() in …/wp-content/plugins/widget-logic/widget_logic.php on line 194

    And this is the line:

    Now i need to make some changes to this website especially on widgets so i’m gonna asking you: what might have happened? And how can i fix that?

    Thank you

  455. 455
    Alan not logged in on 12 Jul 2012 #

    Ah thanks for that. Turns out submit_button is WP 3.1 and later, and I never noticed. I might revert that to make it 2.8 compatible. someone else said it wasn’t worked pre 3.0, and i was most put out, but they gave me no more clues. I will have a tinker.

    you can fix it in the short term by reverting to an older version

  456. 457
    renephilippe on 14 Jul 2012 #

    Hi your plugin widget login has a upgrade to day I did it and now it does not activate and i received this message
    Fatal error: Can’t use function return value in write context in /home/offshore/public_html/wp-content/plugins/widget-logic/widget_logic.php on line 264
    You know what happen?

  457. 458
    admin on 14 Jul 2012 #

    Apologies to the many people who updated to the accidentally prematurely released 0.53 I’ve been trialling. I rolled back the WP repository ‘stable version’ to 0.52 as soon as the problem was brought to my attention.

    i’m afraid you will have to manually remove WL to make your site function again and then reinstall the properly stable 0.52

    0.53 will be out soon to fix what are relatively minor bugs, so it’s rubbish that i’ve caused so much badness in the process :-(

  458. 459
    Misty on 17 Jul 2012 #

    please help on this issue, i have used widget logic for years, suddenly on my artisteer created theme, i enter my conditional tag into the widget “twitter widget” and the widget “diy tarot” and on pressing save the conditional tag disappears. it is working fine on the other text widgets. i have also deactivated all other plugins, same issue, i have further placed the conditional statement recomended by you at the end of the loop. no solution. funnily, on other blogs also using artisteer theme the twitter widget accepts the conditional tag. i have also updated deactivated and reactivated the problem plugins. thanks in advance. tamsin

  459. 460
    Alan not logged in on 17 Jul 2012 #

    “the conditional statement recomended by you at the end of the loop”

    sorry, Misty, what is that you are referring to there. I’ve no clue why some widgets should lose their WL on saving – i’ve even looked at and it seems harmless enough. sorry

  460. 461
    Talina on 2 Aug 2012 #

    Before I had just deactivated the plugin. It’s active now and still has the error in the header, twice.

    Funny thing is it’s always worked fine before… then in June after some WP upgrades it got wonky.

  461. 462
    Talina on 2 Aug 2012 #

    Gah, can’t edit the previous comment anymore but the PHP in one of my widget had improper spaces and junk. Fixed it and the problem is resolved :) Yippie.

  462. 463
    Steve Cook on 3 Oct 2012 #

    Just FYI, if you accidentally enter a line break into a widget’s “widget logic” field, it breaks the plugin and puts a lot of error codes all over your site. When the plugins page is refreshed, the line break disappears from the widget logic field, making it really difficult to determine the cause of the error (trust me). If you save the widget again, without the line break in the widget logic field, the error is gone.

  463. 464
    Alan not logged in on 3 Oct 2012 #

    Thanks steve – i will check and add that to my to do list. I have been very poor at updates for ages now – ust try harder

  464. 465
    indran on 23 Oct 2012 #


    The plugin is great. I need some help, the sidebar is not picking a the standard width. How do I change the width size?
    Here the link

    Please help!

  465. 466
    Joe@WPfreaks on 3 Jan 2013 #

    Widget Logic is one of the must have plugins when it comes to WordPress. I use it pretty much for every site I create. However, there have been some compatibility issues in the recent WP 3.5, I hope Alan will have some time to do needed modifications.

  466. 467
    Yu Hua on 3 Feb 2013 #

    Installed Widget Logic just now, and it saved my day! Thank you so much for the brilliant piece of work! This is definitely one of the “must-have” wordpress plugins. Thank you again! :)

  467. 468
    shabuj islam on 18 Mar 2013 #

    Plug-in is very important for word-press. I want to add this plug-in my word-press anybody help me. How possible this work.

  468. 469
    Mark G on 16 Oct 2013 #

    Thank you Benny

  469. 470
    Roberto on 30 Jan 2014 #

    Hello, it is Widget Logic plug-in working on WordPress 3.8.1 ?

  470. 471
    admin on 30 Jan 2014 #

    yes. i’ll update the compatible version ID soon

  471. 472
    Tommy Mack on 2 Aug 2014 #

    Wow, high praise and from Google no less…

  472. 473
    Mark G on 8 Oct 2014 #

    Wow, what a supportive website incredibly uncle to new users and whatnot.

    Actually, more seriously, I did wonder about if you (or someone) could have a separate linkawidget to have the “Latest Message” sidecar on its own? I often link to the “Popular” front page, and have to scroll down several wonderful Number Ones to get to the bottom, and often on flicking find I have pressed too hard and now I have the initial view of The Tampera, andhave to start over..

  473. 474
    Lindsay on 5 Jan 2015 #

    Right now it sounds liie BlogEngine is the best blogging platform out there right now.
    (from what I’ve read) Is that what you are using on your blog?

  474. 475
    Employee Supervision on 11 Jan 2015 #

    Hello my friend! I want to say that this article is amazing, great written and come with approximately all significant infos.
    I’d likke to look more posts like this .

  475. 476
    Mikayla on 6 Feb 2015 #

    Very good post! We will be linking to this particularly great article on our site.
    Keep up the great writing.

  476. 477
    Janice on 13 Feb 2015 #

    ‘ We ensure that our residents get three healthy, nutritious meals daily that are cooked home style for flavor and
    served restaurant style for the residents’ convenience.
    Taking care of the elderly is an issue that almost all families
    face. Some of them are listed below: Professional cleaning: as the name suggests,
    the cleaning task of the place is done by experts
    and professionals.

  477. 478
    cars for cash long island ny on 13 Feb 2015 #

    *Doesn’t Help Thee Community: As you will see below, donating a non-running vehicle does
    quite a bitt to help the community. Some people also opt for another smarter way of getting rid of their
    old cars. The first step is to determine tthe value of the carr
    in the market.

  478. 479
    Peggy on 23 Feb 2015 #

    Not for used car parts as had been recently listed.
    Some SUV’s andd larger trucks can command a greater top quality.
    Their representatives are well experienced and after taking a
    look at the car, they would quote the best possible
    price for it.

  479. 480
    teclive on 23 Feb 2015 #

    Hello there, I hope you are doing well. First I would like to thank you for writing such a great widget. I installed it in hopes of making life easier for my client, well ok, and myself during development LOL.
    I am using the Avada theme on the latest WordPress but cannot for the life of me get it to show no matter what I use.
    I tried this
    is_category(19,11,10,12) || (is_single() && in_category(19,11,10,12))

    so if it is one of those categories, or a post within one of those categories, then that given widget would work, but still nothing.
    I did post over on the plugin support page but nobody there seems to be able to help


  480. 481
    teclive on 26 Feb 2015 #

    I don’t mean to bug, but is there any solution to my problem?

  481. 482
    teclive on 27 Feb 2015 #

    Would I get a quicker reply if I offered to pay for help?

  482. 483
    Alan on 28 Feb 2015 #

    is_category(19,11,10,12) || (is_single() && in_category(19,11,10,12))

    that will work as you expect. try it on another plain WP theme first

    then it might be your theme is interfering with things. you can get round this with some of “Widget Logic” options in the widget admin screen. Try a late “Load logic” point or the reset_query fix

  483. 484

    During the preliminary hearings at the City Council it became apparent that Schitzer doesn’t want to talk about just how
    profitable iit really is. Even if yyou never achieve material
    wealth in the “real world”. Such dealerss are just a phone call away aand are ready to give a quite
    on the phone instantly after knowing the condition off tthe vehicle.

  484. 485
    teclive on 2 Mar 2015 #

    Thank you Alan, I will give it a shot. Fingers crossed :)

  485. 486
    teclive on 10 Mar 2015 #

    Hi again Alan, hope you are doing well.
    I must be missing something obvious. I switched to the Twenty Fifteen theme.
    I added a custom menu to the default widget (default only has the search). I then added the logic to the custom menu that I added
    is_category(11,10,12) || (is_single() && in_category(11,10,12))

    Strange thing is, if i go to the main category of ’11′ the custom menu will show. If I go to any single posts within category ’11′ it disappears.
    If I go to the others ’10′ or ’12′ it does not show at all.
    Am I missing something?


  486. 487
    teclive on 10 Mar 2015 #

    Oops, forgot to mention, once I switch to the Avada theme, none of it works. I have tried using different logic theme combinations but this thing just does not like me!

  487. 488
    teclive on 11 Mar 2015 #

    OK, kinda got it working in the avada theme, same problem though, it only shows on the first category ID# and not the rest

  488. 489
    spain property sales on 29 Apr 2015 #

    My brother suggested I would possibly like this website.
    He was totally right. This put uup truly made my day. Youu can not
    bdlieve just how a lot time I had spent for this info!

    Thank you!

  489. 490
    stasrus on 26 May 2015 #

    Hello, my site is a problem:
    Parse error: syntax error, unexpected T_STRING in /home/users2/p/palmal/domains/ : eval()’d code on line 1

    the plugin is not edited

  490. 491
    malcolm segal on 8 Jul 2015 #

    I read this article fully on the topic of the difference of latest and preceding technologies,
    it’s remarkable article.

  491. 492
    posting free on 1 Oct 2015 #

    WOW just what I was searching for. Came here by searching for social network

  492. 493
    Danielle McCown on 20 Jan 2017 #

    My company has been using your Widget Logic plugin on our website and when activated it completely shuts the website down. Please help!

  493. 494
    OWLURHGAELYSGXT on 30 Aug 2018 #

    Valuable info. Lucky me I found your website by accident, and I am shocked why this accident did not happened earlier! I bookmarked it.

  494. 495
    what is mca on 2 Jan 2019 #

    Major thanks for the blog article.Much thanks again. Much obliged.

  495. 496
    bilgi on 7 Jan 2020 #

    thanks for plugin

  496. 497
    bilgi on 7 Jan 2020 #

    thanks for plugin I am using now

  497. 498
    pokercc on 1 Jun 2020 #


  498. 499
    WP Agents on 1 Nov 2021 #

    Thanks for sharing the article with the full information.

  499. 500
    Lokesh C on 24 Feb 2022 #

    Good One!
    Thanks for sharing here.

  500. 501
    James on 3 Mar 2022 #

    Thanks for sharing. You can also use a dark mode plugin for giving a break to your eyes. Adding dark mode to your website can benefit you as well as your users. Whether you’re focused on reducing eye strain or simply prefer the darker look, adding a night mode option is worth the effort. It will increase the traffic in the long run.

  501. 502
    Loki on 4 Apr 2022 #

    OK, kinda got it working in the theme, same issue though, it only shows on the top category ID# & not the rest

  502. 503
    Rinal Leuva on 13 Apr 2022 #

    You provide us with valuable content, and I appreciate you suggesting such a useful post. Thank you.

Add your comment

(Register to guarantee your comments don't get marked as spam.)


Required (Your email address will not be published)

Top of page