Shiba Widgets Plugin

The Shiba Widgets plugin allows you to assign different widgets to different posts, pages, categories, or tags. You can create different widget sets using the standard WordPress widget interface, and then assign these widget sets from a drop-down menu in your edit post, page, category or tag screens.

To retrieve your lost widgets, go into Widget Set >> Options and check the Show Lost Widgets box. When you edit widget sets, all unassigned widgets will show up at the bottom of the interface.

[Most recent Shiba Widget updates]

December 26th 2015 – Update 2.2.3

  • Fixed duplicate function issue in widgets.php.
  • Updated Recent Comments and Recent Posts widget thumbnail functions for WP 4.4.
  • Tested on WordPress 4.4.

September 2015 – Update 2.2.1

  • Replaced WP_Widget with __construct function.
  • Fixed Shiba Author widget.
  • Updated for WordPress 4.3.

[Page header and footer images from Web Widget Girl WordPress Theme]

Key Features of the Shiba Widgets Plugin

  • Lets you assign different widget sets to posts, pages, categories, and tags.
  • For example, this page uses a 3-column header widget at the top, and a 2-column widget after the post content.

    Here is another example widget page which uses the Thematic Test widget set together with the Thematic theme. It has a multi-column header area, and a double column sidebar.

    In contrast, my blog frontpage and my regular blog pages use their own widget configurations.

  • Mobile responsive widget sets. Assign widget sets to different devices depending on screen width. In this way, we can easily customize our sidebars for phones, tablets, and desktops.
  • The Multi Column Widget allows you to turn regular sidebars into multi-column sidebars.
  • You can style your widgets by adding your own CSS classes.
  • Render widgets within a post using shortcodes. Here is a list of standard widget classes and their input attributes.
  • We can copy widget sets and quickly tweak them to suit the needs of particular posts or pages.
  • Standard WordPress core interfaces, and objects are used in this plugin to facilitate ease of use.
  • Widget sets are saved as custom post type objects, thus they can be transferred from blog to blog using the standard WordPress import/export tools. However, individual widget settings (such as the text in your Text widget) are stored by WordPress core as options. As of WordPress 3.0, these DO NOT get transferred using the standard import/export tools.

Create and Assign a Widget Set

To create a widget set, go into Widget Set >> Add New.

The interface used for creating widget sets is identical to the standard WordPress Widgets menu. The only difference is the text input box at the top that allows you to set the name of your widget. Once you are done assigning your widget instances, remember to hit the Publish or Update button to the right of the title box. This will save your widget set, and now it will be listed in the Widget Set menu.

Note – The plugin will create a Default widget set upon activation (if one does not already exist). This Default widget set will be used for all blog pages that do not have explicit widget sets assigned to them. The standard WordPress Appearance >> Widgets menu is no longer used to assign widgets.

If you want the change the widgets of your regular pages, then edit and update the Default widget set.

Once you are done creating your widgets, you can easily assign them to posts, pages, categories, or tags through a new drop-down menu in the Edit screen.

You can also hook into the plugin and specify your own widget set conditions by using the pre_shiba_get_widget filter.

add_filter('pre_shiba_get_widget', 'gallery_get_widget', 10, 2);

function gallery_get_widget($widget, $post) {
	if ($post->post_type == 'gallery')
		return 1234; // Return relevant widget set id
		return 0;	

Multi-Column Widget

The Shiba Widgets Plugin also includes a new Multi-Column Widget. This widget allows you to turn standard widget areas (or sidebars) into multi-column widget areas.

For example, this page uses the Multi-Column Widget to convert the Header and After Post areas into a 3 column and 2 column layout respectively.

To do this, simply drag and drop the Multi-Column Widget into the target widget area (sidebar) on the right of the Edit Widget Set screen.

Then, continue to add the other widgets that you want to appear in the area. Once you are done, you may set additional properties on the Multi-Column Widget to further define your layout.

In particular, you may set –

  • Number of columns – This will divide up a widget area into 2-4 columns. The default is 2.
  • Number of widgets – This specifies the number of widgets to include in our multi-column layout.
  • Height – This sets the height of the widget area (in pixels). Any overflow is hidden. If you set the height to blank or 0, the area will have variable height.

For example I have set the top widget area on this page to have 3 columns, and a height of 300 pixels.

If you want to create your own multi-column widget areas, here is a tutorial on how to do it.

We can make our multi-column widgets mobile responsive by adding something like this –

@media only screen and (max-width: 600px) {
	.multi-column-div .widget {
		width:100% !important;

Add Widget Styles

Finally, the Shiba Widgets Plugin also allows you to easily add your own widget classes. This was a great suggestion made by Andre.

All widgets now have a new input box at the bottom where you can add your own widget classes. Simply list all the classes you want as a comma separated list. For example –


Shiba Widgets Shortcode

As of version 2.0, we can now render widgets within our posts using shortcodes. For example –

[shiba-widget class="WP_Widget_Archives" title="My Yearly Archive" count="1" type="yearly" limit="5"]

More widget shortcode examples are shown here.

My Yearly Archive

Add Custom Post Types and Custom Taxonomies

We can add shiba widgets support to our own custom post types and taxonomies by using the shiba_widgets_post_types and shiba_widgets_taxonomies filters.

add_filter('shiba_widgets_taxonomies', 'my_shiba_widgets_taxonomies');

function my_shiba_widgets_taxonomies($taxonomies) {
	return array_merge($taxonomies, array('mytaxonomy'));

Other Widget Settings

1. Show Lost Widgets

Show Lost Widgets is very useful when you accidentally delete widget sets. When you delete a widget set, the individual widgets within it are not automatically deleted (unless specified in the Delete Widgets option below).

However, they are now lost because they are no longer attached to a widget set. You may retrieve your lost widgets by checking this option.

If this option is checked, then lost widgets will be shown in your Edit Widget Set screen (at the very bottom). You may then reassign or delete those lost widgets.

2. Delete Widgets in Widget Set

This option tells the plugin to delete all the individual widgets within a widget set whenever the widget set is permanently deleted.

For safety, it is best to leave this option turned off so that you may retrieve your individual widgets even if you accidentally delete your widget set.

3. Inherit Widget from Parent

Allows you to specify whether you want a child page to inherit the widget set of its parent page.

A Note About Specialized Widgets

The Shiba Widgets plugin uses the same widget editing interface as the native WordPress system. However, there are some key differences –

  • Widget editing now occurs in the post.php page because widget sets are custom post types. In the WordPress native system widget editing occurs in the widget.php page. Some specialized widgets may assume that editing still occurs in the widget.php page, and as a result not load properly under Shiba Widgets. An example is the Image Widget.
  • The multi-column and style objects may not work with specialized widgets that do not extend from the WP_Widget class. This is because both objects hook into specific functions that get called in the WP_Widget class. However, widgets that are created from scratch may not call those hooks.

    In particular, the style object does not work with Akismet. The multi-column object will not work when Akismet, or other specialized widgets are placed as the last widget. If you do not place these widgets at the end, then it will function properly.

Shiba Widgets Plugin Updates

Shiba Widgets 2.2

April 30th 2015

  • Properly deal with deactivated widgets in the Edit Widget Set screen.
  • Fixed Inactive Widgets area in the Edit Widget Set screen so that it works as before.
  • Updated for WordPress 4.2.

Shiba Widgets 2.1.4

Jan 12th 2015

  • Updated widget.php and shiba-widgets.js to reflect changes in widget edit core files. This is necessary for the Edit Widget Set screen.
  • Tested on WordPress 4.1.

Shiba Widgets 2.1.2

April 25th 2014

  • Updated some of the Shiba Social Widget buttons.
  • Tested on WordPress 4.0.

Shiba Widgets 2.1

April 25th 2014

  • Enable multiple widget sets to be edited simultaneously.
  • Use functions for determining plugin directory and url instead of constants.
  • Added a later priority to the widget building hook so that it works with Jetpack.
  • Turned off widget customizer in theme previewer. Since the very purpose of Shiba Widgets is to enable multiple different widget configurations, it does not make much sense (and can be confusing) to do widget customization within the theme previewer. However, I am thinking about using the theme previewer interface to edit widget sets. If you have suggestions about this, please let me know.
  • Tested on WordPress 3.9.

Shiba Widgets 2.0.1

IMPORTANT: wp_get_current_user error with WordPress 3.7

Shiba Widgets 2.0 caused a wp_get_current_user error after installing WordPress 3.7. If you have the Shiba Widgets plugin installed, please update to version 2.0.1 before updating to WordPress 3.7.

If you have already updated to WordPress 3.7 and cannot get into your admin panel because of this error, then the easiest thing to do is to delete the Shiba Widgets plugin directly from your server.

Shiba Widgets 2.0

Aug 17th, 2013

  • Tested on WordPress 3.6.
  • Render widgets within a post using shortcodes.
  • Added support for custom taxonomies.
  • Updated Widget Options screen. Now uses metaboxes.
  • Added pinterest button for Shiba Social Widget.

Shiba Widgets 1.9

December 17th, 2012

  • Updated for WordPress 3.5.
  • We can now assign widget sets based on device screen width (using cookies). We can turn this functionality on or off in the Widget Set >> Options screen.

Shiba Widgets 1.8

September 5th, 2012

  • Updated for WordPress 3.4.
  • Multi column widget has been expanded. It can now be placed anywhere in a sidebar. We can specify the number of widgets to include, and even have multiple different multi column widgets in the same sidebar.
  • Expanded propagate widget options capability.
  • Quick edit for assigning widget sets is enabled for custom post type objects.
  • Themes associated with widget sets are now reflected in 3.4.
  • Turned off autosave in the Edit Widget Set screen.
  • Added is_home option.

Shiba Widgets 1.5

June 28th, 2011

  • Thumbnail image option added to WP Page Widget, WP Recent Posts Widget, WP Recent Comments Widget, and Popularity Contest Widget.
  • New widgets added:
    • Shiba Tag Cloud – Show all tags or only article tags. Choose from a set of cool tag styles.
    • Shiba Social – Add Facebook Like, Twitter, and Google+1 buttons.
    • Shiba Author – Show author description and author link.
  • Expanded existing WordPress widgets with new display options.
    • WP Recent Comments Widget – Comments are now grouped by post. Can also filter out blog author comments and set maximum comment length. Supports thumbnail images.
    • WP Archives Widget – Set what type of archives to display including a new Monthly & Yearly archive type. Set post count and number of archive links shown.
  • Easily add Shiba Widgets to new custom post types by adding ‘shiba-widgets’ to the supports attribute of the register_post_type function. Many thanks to Greg Bellucci for adding this.
  • Assign different themes to different widget sets and easily edit widget sets according to their associated themes.
  • Change wordpress themes on a page by page basis based on their assigned widget sets.
  • Include or exclude any of these new features through the Widget Set >> Options screen.

Shiba Widgets 1.4

March 7th, 2011

  • Updated for WordPress 3.1. Tested on WordPress 3.0 and 3.1.
  • Widget sets can now be assigned through Quick Edit and Bulk Edit.
  • Only published widget sets will be applied. If a widget set gets unpublished, put in the trash, or deleted, then all posts or pages assigned to it will use the Default widget set.

Shiba Widgets Patch 1.3.1

September 4th, 2010

  • Fixed the disappearing widgets bug identified by Axel. Many thanks for Axel for letting me test the plugin on his test site.
  • When you add a widget, there is a rotating wheel indicating that the widget is being created and saved. Only save your widget set after the rotating wheel has disappeared.

Shiba Widgets 1.3

August 24th, 2010

  • Widget sets are now represented as custom post types. This provides a cleaner back-end and enhances usability. However, this new release requires WordPress 3.0 and above.
  • Expanded plugin to work on WordPress multisite and network activation.
  • The Default widget set now tries to preserve your previous widget sidebar settings.
  • Added ability to assign widget sets to archive pages. Thanks to James for this great suggestion.
  • Fixed Text Widget propagate bug. Thanks to Sheryl for reporting this.

Shiba Widgets Patch 1.2.2

  • Fixed some bugs with the add_styles function.

Shiba Widgets Patch 1.2.1

  • Fixed converting old widget style data. Old widget style information from 1.0 should now automatically transfer to new releases.
  • Fixed Manage Widgets screen for WordPress 3.0.
  • Fixed PHP notices.

Shiba Widgets 1.1

  • Updated for WordPress 3.0. Plugin will now work on 2.9 and 3.0. However, multi-site support has not yet been added.
  • Copy widget sets.
  • Assign widget sets for front-page, search, file not found (404), all posts, all pages, etc.
  • Retrieve and delete lost widgets.
  • Tag and Category widget information is now stored in a metadata table. It no longer shows up in the description section.
  • Propagate text widget changes.
  • The Multi-Column Widget and Style Widget now use standard WordPress core options to store their results.

Thanks to Rob for making some of the great feature suggestions that went into this release.

Related Articles


  1. Marcin says


    You shiba custom widgets plugin stooped to work on all my pages.
    I m using Shiba Wigets 1.9.1 version.

    I m not able to edit or to add any widget field on my pages.

    Im running Worpress 4.01

    But any way today on one page I downloaded the newest version of your plugin Shiba Wigdets 2.1.3 and I have the same result. No able to add widgets to the field they are not openning any more.

    If I enter widgets not using you plugin without choosing widgets set link every thing is working well.

    What shoud I do?

    best regards


    How to update your wigdet without loosing any custom widgets?

    • ShibaShake says

      Did you *install* the newest version of the plugin? Installation should not cause custom widgets to be lost. Try it out on a test site first to get a feel for how it works.

      Otherwise, you can also unzip and ftp the new files over to your server.

      • Marcin says

        I added your latest plugin version to the a new site, where I didnt install your plugin at all. I cant also make any changes on this site.

        I cant open anything. I can enter widget set link I can open it, but I cant make any changes inside the fields.

        I was working with your plugin for many months and everything was working well.

        I have the same result for every site. It doesn’t matter if I m using 1.9.1 or 2.3.1.

        • ShibaShake says

          I was working with your plugin for many months and everything was working well.

          When did things stop working – when you updated to 4.0.1? Were you using 4.0 before? Did you make any other changes in terms of themes and plugins? Do you have debugging turned on for your WP test install? Were there any error messages?

          First, i would try using a default theme (e.g. TwentyTen) with no other plugins enabled.

          I have tested editing and setting widget sets on WP 4.0 and 4.0.1, and it works fine on my installs. If you still can’t get it to work, and want me to take a look, then set up a temporary admin account for me on your *Test Site* only and send me the login info here.

          I will take a look when I can and post back here.

  2. says

    Oh my God, finally I’ve found it! I’m looking for a plugin like this about 7 months ago but can’t find it.

    I am really exited about this plugin. It match to what I want, I’ve been looking for a plugin like Shiba Widgets because I can set related articles within sidebar or even rotating related products to offer.

    Also, this could make a better user-experience because they found related information they are looking for. I knew many “related articles plugin” can do this in the bottom of the articles, but that’s not what I’m looking for.

    I want an eye catching recommendation in the side bar, Shiba Widgets & Q2W3 Fixed Widget will be the best plugin set to do this.

    Am I writing an article here? LOL

    I’m planning to re-customize my sidebar widget Now.

    Thanks for creating such a great plugin ShibaShake! Two thumbs up from me 🙂

  3. says

    Hi again. I know you said you’re busy with other projects, and hope you get back to WP plugins when time permits. You’ve got some good stuff here.

    I just wanted to give you a heads up on another issue our team discovered at the intersection of Shiba Widgets with widget visibility in Jetpack. You can follow the discussion here:

    The takeaway is that you need to add a priority to a filter so Shiba Widgets does its thing later in the load process; otherwise, a warning gets triggered.

    Also, I recall reading some time ago about the history of why your plugins are not on the WP repo. I wish you’d reconsider not putting them there. If there’s anything we can do to facilitate that, happy to help out in any way we can. GitHub is another option, and you might get others to propose some of these minor fixes, which would benefit your users.

  4. says

    Hi there. Very nice plugin. We have a user who is using it on our WP multisite network with the domain mapping plugin. Lines 44-45 of shiba-widgets.php use the constant WP_PLUGIN_DIR. The domain mapping plugin uses the plugins_url filter (around line 652 if you’re looking) to set the plugin url to the mapped domain, but I think your use of the constant prevents that from having the desired impact. As a result, the reference to shiba-widget.css is to the subdomain/subfolder, not the mapped domain as the DM plugin intends and should be the case. See and on avoiding using a constant like WP_PLUGIN_DIR.

    Thoughts on replacing the constant so DM can do its thing?

    • ShibaShake says

      Thanks for letting me know Bill. I will look into this for the next update. At the moment, I am really busy with other projects, so it may be a while before I return to WP programming.

  5. Chinzs says


    Was wondering if can help out.
    Installed Shiba, created a widget set, assigned to certain page but it ain’t working. The certain page eg. my account page is showing the default sidebar.

    Anyone encounter this before?

    Thank you.


        • ShibaShake says

          Did you create a widget set for twenty twelve and then specifically assign it to a post? I just tested it on my site and everything works fine on Twenty Twelve.

          1. Turn off the plugin, activate 2012, and assign widgets normally. Test to see if the sidebar appears.
          2. Turn on the plugin, create a widget set for 2012, and assign it to a particular post. Test to see if the sidebar appears.

          • says

            Dear ShibaShake

            Really thank you for your kind assistance.
            I still can’t get it work.
            I’ll get around to figure it through after i’ve done other customization to the website.

  6. says

    Hi, I now get the error message:
    Warning: Missing argument 2 for wpdb::prepare(), called in …./wp-content/plugins/shiba-widgets/shiba-widget-helper.php on line 182 and defined in …./wp-includes/wp-db.php on line 990

    I ve research in www and found a lot of news / infos regarding that message and WP 3.5. –> All of them are giving the advice to tell this to the plugin-author because of a security lack. The error itself is not a problem for the functionality of the plugin, but it seems to be one regarding the security of the db. please check this post ->

    Many thanks for this great plugin !!

    cheers Louis

    • says

      Are you using the latest version of the plugin? The wpdb::prepare() warning should be fixed in the latest version of the plugin.

      Please let me know if the problem persists.

      • Louis says

        Hi, many thanks !!! all is working fine and more: there are new options available. I used version 1.6.1 but my wordpress didn’t told me that there are updates available. With regard to all other plugins I get a message that I can / should update … don’t know why not with shiba. anyway, I updated manually and everything is fine without that error message. thank you very much for this great plugin !!
        cheers Louis

        • Louis says

          Hi, I have another issue / problem – maybe bug:

          At the moment I get mad because I have about 25 Widget Sets. Not every time, but very often I change in a text-widget in Set A, the same change is appearing in Set B and Set C. There must be a relation between some widget sets, but I don’t know which and how this is possible.
          I want to create widget sets independently from each other, the shouldn’t be connected in some way. Is there a option I was overlooking.
          Do you have an idea, what the problem could be? best regards and many thanks Louis

          • Louis says

            Ok, definitely there is a bug (maybe because shiba has just problems with some of my plugins). Every time I want, I can reproduce this bug.

            I change the content of widget 3 in widget Set A
            and without doing anything the content of widget 3 in widget Set B was changed, too.

            I didn’t marked the option or the field to “propagate settings across widget wide …” !!!
            But when I created the widget sets, I copied them and then changed the name and permalink. Maybe they are related because of that ?

            But they have different IDs ! I don’t know what else I could do. maybe I could create whole new widget sets instead of copying them, but that is much work (25 widget sets with about 20 widgets each).

          • says

            If you are editing multiple widget sets simultaneously, make sure to Publish or Update after adding new widgets. Do not add new widgets to multiple sets simultaneously, without first doing an Update.

            My guess is that the same widget (i.e. check the text widget id) has been added to each set. One way to fix this, is to put in a new text widget, and put the old text widget in the Inactive Widgets section. Don’t delete it, just put it in the Inactive section. Then save the widget set.

            It is easiest to edit widget sets singly which will avoid this issue – which has to do with how widgets are created in WordPress native. It has nothing to do with the copy operation which creates new copies of each of the widgets. Or you can use Widget Logic where there is only a single widget set, and conditionals on each widget to control where they appear.

  7. says

    I’m taking a chance that you’re still getting notifications of new comments on this thread. I was searching for a plug-in to do a specific task and I think yours might work. Here is a rundown of what I want to do and if you could please tell me if it’s possible then I’d appreciate it: I have a client that wants to feature 3 products on his home page. He doesn’t have the WordPress eCommerce site setup and manages his online store through a different site. We want to display 3 ‘featured products’ on the home page and link to them in the online store. My thought is to use your Multi-Column widget to achieve this. However, I don’t know if I can just insert it in the home page’s content section. Is there specific code for that? I see that you can add it to pages but I just want to be sure that I can do this for the home page. The client wants to be able to update the products fairly regularly so that’s why I thought a widget like this might help. It will display a thumbnail of the product, name, price and link. Thoughts?
    Thanks for your help!

    • says

      Hello David,

      The multi-column widget simply allows me to split a single widget area into multiple columns. I can insert existing widgets (e.g. recent comments, recent posts, etc.) into my multi-column widget, and it helps to lay it out properly according to certain settings, such as number of columns and maximum height.

      For featuring products/articles/links I usually use a gallery.

      Then, if I wanted to, I could place multiple galleries into a multi-column layout using the multi-column widget. In other words –

      1. The mc-widget just does multi-column layouts for existing widgets.
      2. I use a gallery to show thumbnail images, article links, and descriptions.

  8. Andre says

    This really seems like a great plugin. I am however having issues editing a widget set. I cannot drag widgets to the widget containers. Also trying to view the contents of a widget area does not work. Running WordPress 3.4.1. The normal WordPress widget editor works fine. It is only the widget sets editor that has an issue. I really do hope that I am doing something stupid!

  9. says

    Need a bit of help. I love the plugin it is my favorite and works perfect…. But In search results I get a page for each widget i create. such as example. com/?post_type=widget_set&p=1899

    with content in the page example…
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam tempus vehicula ect…..
    I am using
    Version 1.3.4


  10. says

    I have installed the plugin and made different widget sets. But somehow the everything gets erased inside those widgets with regular intervals, and then I have to plug it all in again. It can be one day or a week – there no rythm to this. It’s just gone suddenly.

    Fx this page:

    I have alot of links in the sidebar. Suddenly they can just be gone.

    Is this a problem you have seen before and is there a fix to this?


    • says

      Hmmm, are you using text widgets to show the links? So the text disappears but the widgets are still there? The only thing I can think of is to make sure that the Propagate Settings checkbox at the bottom is not checked.

      What version of the plugin are you using?

      • says

        I have tried text and php widgets.

        The widget set i create in Shiba are still there – it’s just empty. In the particular widget set I linked to contains 4 seperate text or php sections that just disappears with regular intervals. Usually when I create a new post or do some updates on the blog.

        I use the newest wordpress version + Shiba 1.5.8

        Where is this?
        The only thing I can think of is to make sure that the Propagate Settings checkbox at the bottom is not checked

  11. says

    I must be a bit of a bloke tonight because I’ve downloaded Shiba Widgets earlier, installed it okay, then when I had a look at it all, I got confused. What to do next, duh!

    And the link to the “great video tutorial” by Kyle didn’t go anywhere, so can you give me plain-english steps to follow, to start using Shiba Widgets, please?

    Our WP theme has the usual WP widgets + the custom ones that came with the theme, & numerous sidebars for specific page templates. But after installing SW, did it look different.

    What’s the very first steps, so I can include my existing widgets — with text & html already pasted in — as a starting point?

    Thanks & really love the fem artwork, folks!

  12. says


    I downloaded your widget to use in my sidebar so that I can split my sidebar into 2 columns for some of the widgets in the sidebar. I placed the multi column widget above the 2 widgets in the sidebar which I wanted to columnise. The rest of the widgets in the sidebar above it and below it, I do not want to columnize. It did not seem to work. Do you know what could be wrong? I am using the latest wordpress version. If you check my homepage, it is the widget named recipe bowl by region and recipe bowl by meal which i want to columinize side by side. Can you give some advice please!


    • says

      Currently, the multi-column widget operates on the entire sidebar. The Multi-column widget must be placed as the first widget and it operates on all other widgets that come after it.

      Being able to columnize a certain number of specified widgets would be useful though. So I will add it to my to-do list for future work.

  13. Steve says

    Never mind with my last question. I was able to figure it out.
    Had to add the add_meta_box code for each Custom Post Type in the shiba-meta-box.php page.

    Great Plugin…thanks!


    • says

      You can also just add ‘shiba-widgets’ to the supports list when you register_post_type.

      This great feature was added by Greg Bellucci in the last plugin update.

        • says

          The post above is for adding the shiba widgets interface to custom post types.

          the custom widget I’ve setup for this does not seem to work

          Hmmm, not sure what you mean by that. Does it not appear in the Shiba widgets interface? Does it work when shiba widgets is turned off?

      • Mirco says

        Hi, thx for this great plugin!

        one question – you said: ” You can also just add ‘shiba-widgets’ to the supports list when you register_post_type. ” I don’t see “shiba widgets” in the support list. What should I do in order to have the option to add shiba widgets in the custom post field UI Advanced Options ?

        thx and cheers Mirco

        • says

          Look for the register_post_type function of the custom post type you want to add shiba widgets to. Then just include ‘shiba-widgets’ in the arguments array, for example –

          $args = array( ... ,
          		'supports' => array('title','author','thumbnail', 'comments', 'shiba-widgets' )
  14. Steve says


    This is a great Pkugin that I have used on other projects – thanks for the work you put into it.

    I am currently working on a new project that I am trying to use this plugin in tandem with the Custom Post Type IU Plugin. However, the drop down option to choose the Sidebar is not showing up in the admin post type page…

    Is there a way to have it show on the Custom Post Type Pages?


  15. says

    Can you please help me out? I have installed your plugin but I get this error:

    $instance = $widget->get_settings(); $instance = $instance[$params[1][‘number’]];

    What should I do to make it work?


    • ShibaShake says

      To properly debug the issue I would need more context.
      – What are the steps you took that caused the error. The more detail the better.
      – What is the exact error? (line number, file name, etc.)
      – What WP version are you using?
      – What other plugins are you using?
      – What theme are you using?

      As a first step, try turning off all other plugins, and switching to the twenty ten theme.

  16. Bob says

    First off I’d like to say you created an awesome plugin by making the custom widgets. I was running WP 2.9.2 and updated to 3.1 today. I of course experienced some issues with my outdated version of your plugin. I removed the old one, installed the latest. Followed the guide which explains the ‘widget sets’. Everything is back to normal luckily, although I still have one major issue. The AuthorAvatar plugin is not working anymore.. When I add it to my widget area (and specify the options of this plugin) it puts a ‘fatal error’ on my page. It also causes my footer to disappear for some reason. Now this plugin, as well as your Custom Widgets plugin, is essential for my website.. Do you maybe have any idea on how I can get this back to work?

    • ShibaShake says

      Hmmm, the most common reason is that most specialized widgets assume that widget editing occurs in the widget.php page whereas Shiba Widgets shifts editing to the post.php page. As a result, plugin files that rely on the widget.php dependency may not be loaded.

      I don’t use AuthorAvatar though so I can’t say for sure.

      • Bob says

        Sounds too difficult for me to handle. I tried some other plugins for displaying the authors which do work and dont cause issues. Problem is that they dont have all the functionality I want.. too bad.

  17. Vlad says

    Hi there,
    After installing WordPress 3.1 I can no longer manage widgets with the plug-in – the “Manage Widgets” list appears empty. I have version 1.2.1 of the Shiba Widgets plugin, also tried downloading the latest version (1.3.5), same issue. Please help.

    • ShibaShake says

      Widget Sets now use custom post types, so there should be a “Widget Set” tab on the Dashboard that lets you manage widget sets.

      I would test the plugin out on a test site first before using it in a live site.

      • Vlad says

        Version 1.4 does not see any of the existing widget sets. If I activate version 1.2.1 then older widget sets appear correctly on all pages, so they exist in the database, for some reason the plug-in is not seeing its own data. I know, this all started with WP 3.1 upgrade, so even version 1.2.1 couldn’t see its existing widget sets to manage. Is there anything can be done to convert the existing data?

        • ShibaShake says

          Version 1.2.1 stored the widget sets as taxonomy objects. However, when 3.0 came out I decided to change the widget sets to custom post type objects – which is the more appropriate representation.

          The plugin should automatically convert taxonomy objects to custom post type objects during activation.

          Do you see a Widget Set tab? What do you see when you go to the Widget Set tab? Is it totally empty? Is there a default widget set?

          • Vlad says

            Yep, the Widget Set tab is there, however it is empty, it shows an empty grid with only the footer and the header. And again, it started showing empty with version 1.2.1 / WP 3.1.

          • ShibaShake says

            If you have a test site, I can look at it and try to debug it there. During debugging I may need to change plugin code, blog settings, etc – therefore it is only appropriate on a test site. You can send account information to me at

            Otherwise if you are familiar with PHP, the taxonomy to custom post type conversion function is in shiba-widget-helper.php, and it is called convert_widget_taxonomy_terms_to_custom_post_type. The function is very simple – it retrieves all the old taxonomy widget sets and creates a corresponding custom post type object for each one.

            Another possibility, is to move the content over manually through database operations on your server. But it is probably easier to look at the conversion function.

          • Vlad says

            Thanks, I simply dumped my wordpress database to a text file and recreated all widget sets by using the old and tried cut-and-paste. Once that’s been done, everything seems to be working fine.

  18. says

    Love the plug-in. I am using it to rotate Amazon ads in my sidebar.

    One feature request.

    It would be great to be able to change the Shiba Widget for a post by using just the Quick Edit from the main posts menu. Then you could also use the bulk change function from WordPress. Otherwise, I had to go through 50+ posts and update them to assign the widget I wanted.

  19. James says

    Great plugin! I have used this on several sites already. I’m working on one that will be using a team to update the site. I was wondering if there is a way to specify or change who the original author of the widget set is? Like on a post or page you can change the author using the dropdown towards the bottom of the edit page. This way I’ll be able to allow authors to edit specific widget sets without having to worry about the others!


  20. David says

    The wordpress image widget does not work with this plugin. The page goes blank while trying to add the image. Any idea how to fix this?

    • ShibaShake says

      Hi David,

      I looked into this while doing my 3.1 update and it turns out that Image Widget does a check for the widget.php page. This occurs in the file image-widget.php.

      if (‘widget.php’ == $pagenow) …

      In Shiba Widgets, the Edit page is no longer widget.php but rather post.php since widgets are now custom post types.

      To make the Image plugin work, we must perform a different page test. Try something like this –

      if (isset($_GET['post'])) $post_id = absint($_GET['post']);
      $post = get_post($post_id);
      if (is_object($post)) $post_type = $post->post_type;
      if ( ('widget.php' == $pagenow) || ($post_type == 'widget_set') ) ...
  21. says

    Hey There-
    Just wanted to report an issue I was having and see what your thoughts are on it.
    WP: 3.0.3
    Shiba Widgets: 1.3.4

    When go to query a custom post style and gather a bit of metadata it’ll do odd things to my selected widget set for that page.

    I have a page called All Databases that is listing the posts from the post type database – this is essentially titles and urls for library databases. However, when this code is in use it messes with the widget set I’ve assigned for it and assigns an old widget set that I had previously used for it.

    If I take the code out it works fine. You can see the template here:

    If you have a sec, I’d love some feedback.


    • ShibaShake says

      This is because shiba widgets uses the WordPress Loop global variable $wp_query to figure out which page/post we are on so that it can retrieve the relevant widget set for that particular page or post. This occurs when the first widget set is rendered.

      Since you are replacing the WordPress Loop with your own database objects before widgets are rendered, it ends up not finding a widget set. Therefore, it uses the default.

      There are three ways that come to mind to fix this –
      1. Don’t replace the WordPress loop. Use get_posts, and loop through the results using non WP-loop functions.
      2. Return your own widget set by adding the following to the start of your template –

      add_filter('pre_shiba_get_widget', 'set_widget_set', 10, 2);
      function set_widget_set($widget_id, $post) {
      	return $my_widget_set_id;

      3. I could make Shiba Widgets determine the proper widget set earlier on. I will add this to my to-do list although it may be a while before I get to it.

      No-2 is probably the easiest option.

  22. CJN says

    I uninstalled this and removed the folder from the plugins directory a few months ago when I ran into major issues during an upgrade and redesign, but it never did get completely removed (one example is the description tag is still showing [SHIBA WIDGET: ..]…(It would seem that SW was hijacking my AIOSEO settings, among other issues I was having.)

    How do I get rid of all remnants of the SW plugin once and for all?

    Thanks for your help.

    • ShibaShake says

      Dear CJN,
      SW does not try to hijack any settings in other plugins. However, it does create some database objects which is necessary to keep any kind of blog state. In particular, each widget set is a custom post type object with post_type=widget_set, so you can just remove all those objects.

      It may also create a term table to store meta data, so remove all shiba tables from your database.

  23. cory i says

    The plugin does not work with the Tabbed Widgets plugin. I NEED it to or I have to drop Shiba Widgets and dont want to. When saving the tabbed widget options there are two radio buttons for tabbed or accordion style tabs. When clicking save it reverts back to neither buttons checked. The result is the widget never shows up in the site. Others do.


    • ShibaShake says

      I can have a look at it, but I have several projects going on currently so it will be a while before I get to it. The best thing is probably to find another widgets plugin, e.g. Widget Logic.

  24. mike says

    hi. im having a weird problem with widgets that i can’t seem to control. i’ve got a site in production that is all pages thus far; i’m adding a blog now so the client can…well…blog! i use wp 3.0.1 and ata 3.5.3. i use shiba widgets to put specific widget sets on on pages and want to do the same on the blog. the site is here:

    i am building the blog in the background (i have not added the blog to the menu). when i visit the blog home page, i have no widgets at all and when i click a specific post, i get sample widgets on the left that i dont want. the blog is here:

    i’d appreciate any guidance. Thanks!

    • ShibaShake says

      Hi Mike,
      What version of Shiba Widgets are you using?

      I just checked out your links and when I click on a specific post I get – Ask Abe Inspector and Useful Links on the right.
      The blog page will use the Default widget set.

      To get a better idea of what is going on, I would need to know –
      1. What widget set is assigned to individual pages, exactly what widgets are in that widget set.
      2. What is in the Default widget set.

      If you have a test site, I can have a quick look at things. Just make me a temporary account and send the information to –

  25. says

    I downloaded the shiba plug in and installed it. But when the shiba plugin is activated, I loose my ability to view my Theme Functions “functions.php” on the editor. Is there a quick fix?

    • ShibaShake says

      Hmmm, I just tested this on a variety of themes including 20-10 and could not duplicate the problem. What theme are you using?

  26. says

    hello, shiba,

    This plugin works like a charm! And easy too! I found a problem, which is the plugin is visible in the dashboard for everyone to see (registered users). They can create own set of widgets and delete my default set up.

    Is there any way to hide shiba widget from the dashboard other than admin to see?

    Btw, my wp is not wpmu. It is a normal wp with many authors.


    • ShibaShake says

      That is a great suggestion. I may add this as part of Options in a future release. In the meantime, here is what you can do –
      1. Go into the file shiba-widget-helper.php.
      2. Go to the function register_widget set. Add in the following at the beginning of the function (line 13) –

      if (current_user_can('switch_themes')) $show_ui = true;
      else $show_ui = false;

      3. Look for the line ‘show_ui’ => true and replace it with –

      'show_ui' => $show_ui,
  27. amit says

    i face a amazing bug in it when i installed you plugin in Appearence -> i have not show create widgets and manage widgets what i do

    • ShibaShake says

      There are several possible causes for this –
      1. Your WordPress installation does not support custom post types.
      2. There is a plugin or theme conflict.
      3. There is an issue with the server environment.

  28. says

    Hi Shiba,
    I’ve been using version 1.2.1 of Shiba Widgets on a number of sites without any problems (thanks so much for this great plugin).

    However, when I installed 1.3 on a test site I couldn’t get the plugin to save widgets within a set successfully:
    I assigned a number of widgets before installing Shiba Widgets, and it imported them into the default set without any problem. I then copied the set and deleted some widgets in the copy without any problem either.
    When I then tried to add new widgets to any widget area, I noticed that they wouldn’t ‘stick’. I noticed in the “widget set” screen (the overview) it would correctly show the number of widgets, but they won’t appear in the widget set’s edit screen.

    Just to make sure my theme wasn’t the culprit I disabled any plugins, reverted from my custom theme to twentyten and reinstalled shiba widgets, but the behaviour is the same:
    This time I started off with no widgets, then tried to add the archive widget to the primary widget area in the default set, pressed update and once again it disappeared. Checking in the “widget set” overview screen it would say “#widgets: 1”, but checking all widget areas would show no widget at all.

    I’m using WordPress 3.0.1 and Shiba Widgets 1.3. The only plugins I had installed (but now disabled) are WP e-Commerce Plugin and WP E-Commerce Dashboard.

    Any ideas ? It seems a bit like I somehow managed to corrupt the database table shiba widgets stores the widget sets in (which I assume won’t get deleted when deleting the plugin, since when I reinstalled shiba widgets my previous sets were still there, so I manually deleted them and created a new Default set)

    • says

      not sure if that helps, but here’s the content of shiba_widget_options in the wp_options table:


      I have not used the multicolumn widget, so I assume widget_shiba_multi_column is set to default: a:1:{s:12:”_multiwidget”;i:1;}

      and the wp_shiba_termmeta table is empty.

    • ShibaShake says

      Hello Axel,
      Thanks for the great bug report – it is detailed and extremely helpful.

      This time I started off with no widgets, then tried to add the archive widget to the primary widget area in the default set, pressed update and once again it disappeared. Checking in the “widget set” overview screen it would say “#widgets: 1″, but checking all widget areas would show no widget at all.

      Make sure that the Widget Set has a title. Then open up one of the Archive widgets and click on the Save button. Let me know if you still get the same errors after that.

      There seems to be a strange bug in the plugin. Once I did the Save, everything works like it is supposed to. I will definitely look into this in greater detail, although now I am having trouble duplicating the bug.

      Any ideas ? It seems a bit like I somehow managed to corrupt the database table shiba widgets stores the widget sets in (which I assume won’t get deleted when deleting the plugin, since when I reinstalled shiba widgets my previous sets were still there, so I manually deleted them and created a new Default set)

      The plugin now stores all of the widget sets as custom post types – so it doesn’t create a database table for storing widget sets. The old widget sets probably came back because during activation the plugin will try to convert all old widget sets (that were created in version 1.2) into new custom post type widget sets. It will only do this if there are no existing widget sets.

      To prevent the conversion process, leave at least one widget set present, e.g. the Default widget set.

      I did not delete the old widget set objects so that if there are bugs, one can easily revert back to an old version of the plugin and not lose any work.

      Let me know how it works out and if you uncover more bugs.

      • says

        Hi Shiba,
        thanks for your quick reply.

        Make sure that the Widget Set has a title. Then open up one of the Archive widgets and click on the Save button. Let me know if you still get the same errors after that.

        Yes, my widget set has a title, and I did click the save button within each widget. Once I click the “Publish” (for a new widget set) or “Update” button (when editing an existing widget set) the newly added widget(s) disappear from the widget area I have added them to (but the number of the widgets increases in the widget sets overview). However, I can remove existing widgets from a set without any problem (I just can’t add any).

        I did install the plugin on another one of my blogs and the behaviour is exactly the same (the default widget set gets correctly populated on install, I can delete widgets from a set, but not add any)

        The old widget sets probably came back because during activation the plugin will try to convert all old widget sets (that were created in version 1.2) into new custom post type widget sets.

        On both blogs I installed Shiba Widgets 1.3 without having 1.2 installed first. I meant when uninstalling 1.3 and reinstalling it it remembers the previous sets, so the custom posts don’t get removed when uninstalling.

        Would it help if I dug out the relevant entry in the wp_posts table, try to add a new widget to a set and see if the database entry changes at all (and maybe post a before and after)?

        • says

          Sorry about yet another double post, but I did do the test I mentioned above:
          I disabled any custom plugins, deleted shiba widgets, removed any shiba-widgets related custom posts and settings from the database and put 2 widgets, meta and archives into the primary widget area of twentyten.
          I then installed shiba widgets, which correctly imported the 2 plugins into the default set.
          This is the resulting custom post in the database:

          I then removed the meta widget, resulting in the correct removal in the db entry:

          Now I added the meta widget again, which resulted in the exact same db entry as before:

          Nevertheless the widget has disappeared from the set.
          So this eliminates any problem with the widgets not getting stored correctly in the db and I assume points at the bits of code that read the custom post and then populate the widget set (as I said in my last post the set overview page counts the number of widgets correctly, it’s just the edit widget set page that doesn’t work)
          I hope that helps narrowing the issue down a bit…

          • ShibaShake says

            This is truly perplexing. I am having trouble duplicating the bug on my setup.

            – Try viewing the widget set. Does the widget that disappeared get rendered on the page?
            – Open up shiba-widget-add.php. Search for require(SHIBA_WIDGET_DIR . ‘/widgets.php’); (line 82). There should be two lines there that look like this –

                    // require(ABSPATH . 'wp-admin/widgets.php');
                    require(SHIBA_WIDGET_DIR . '/widgets.php');

            Change it so that it looks like this –

                    require(ABSPATH . 'wp-admin/widgets.php');
                    // require(SHIBA_WIDGET_DIR . '/widgets.php');

            Try editing the widget set again and see if the problems still occur.

            I can also take a look at your test site if you create a temporary account for me with admin privileges. You can send the password to –

  29. says

    Hi – I’m running wp 3.01 and Thesis Theme 1.8.

    2 things: When I created a new widget set it only let me add three widgets to each sidebar.

    Also, when I click on Options, I get this:

    Shiba Widget Options
    Set Default Widget Set

    Default Widget Set
    Fatal error: Call to a member function on a non-object in /homepages/25/d214364769/htdocs/adtalk/wp-content/plugins/shiba-widgets/shiba-widget-options.php on line 86

    What do you think?

    – WK

    • ShibaShake says

      That is very strange. Seems like the shiba-widget-metabox.php file is not getting loaded. It could be a conflict with another plugin or with something in the theme.

      Try turning off plugins and switching to TwentyTen. Then see if the same errors persist.

  30. CN says

    I was using this plugin with the old kubrick default theme and loved it.

    But, after upgrading to WP3.0.1 and redesigning with a new theme, it failed – and when I tried a delete and reinstall, it deleted my default sidebar, and still wouldn’t work…I’m pretty sure it will be an issue of compatibility with the new theme, which I also love (Suffusion). I know you can’t be expected to know with the g’zillion themes it may or may not be compatible with, but do you know if this is the case?

    If you do think it should be compatible – I’m feeling very uncomfortable about trying this one more time – what is the safest way to re-install without losing a lot of work I’ve done now?

    Thanks for a great plugin – I do hope I’ll get to continue using it.

    • ShibaShake says

      Hmmm I just tested out the Suffusion theme on my test site, and it didn’t generate any errors. Perhaps it could be a conflict with another plugin.

      I’m feeling very uncomfortable about trying this one more time – what is the safest way to re-install without losing a lot of work I’ve done now?

      The safest way of installing a plugin is always to run it on a test site first. That way if there are problems, it will not affect your main sites, and no work will be lost.

      If you are uncomfortable with using a plugin though – it is best not to use it. Just find an alternative. For example, Widget Logic is another plugin that lets you manipulate widgets on a page by page basis.

    • says

      Great plug-in and more stable than widget context, which I have on my production site. However, you’re missing one setting that is crucial for proper granularity.

      Under the widget options you really need is_archive because there is no way to manually add a widget set to an archive. In fact I can set the category to a default widget set and manually override in the categories area of admin. I can do neither with archives so I’m stuck with the default page widget set.


      • says

        Well, looking at this differently I did manage to come up with a solution, as I set the base default sidebar to have the monthly archive list and then created several other widget sets to deal with any other combination I may want. Still, perhaps an ‘is_archive’ option would be a good idea?

        Is there a reason you chose not to implement these options within the widget itself? As opposed to grouping widgets repeatedly, then admins just select where they wanted widgets to show up, while still being able to override in the actual post, page or category admin panel.

        Definitely nice work, though.

        • ShibaShake says

          Still, perhaps an ‘is_archive’ option would be a good idea?

          That is a great idea. I am currently working on the next update to the plugin and have included this option. I am also migrating the widget set objects to custom post types. It will make things a lot cleaner.

          Is there a reason you chose not to implement these options within the widget itself?

          That is interesting. The main reason I organized things into widget sets is because that is how I think about and manipulate widgets in my own blogs. When all the widgets exist in a single set, and the options are set on the widgets themselves, I have a tough time remembering which widgets are relevant for what pages. Ultimately, it was easier for me to have separate sets. This also allowed me to save different widget sets for different themes.

          As you suggest thuogh, it is possible to have both. Widget Context certainly looks very interesting and I will have to try it out.

          Thanks for the great suggestions. I will post something when I release the new update.

          • says

            Cool. I’ve actually replaced widget context with yours on my production site now. I think it’s just six of one … I guess the reason I think in terms of offering options on the widget itself is that I don’t need more than one copy of the widget.

            With widget context, when you open the widget to edit, there’s an extra wide pane that opens below the widget content, with checkboxes to display or exclude for each template type OR you can theoretically set them on specific URLs in your site. However, the URL string doesn’t work for me, but I also note that the plugin hasn’t been updated since well before WP 3.0 came out so there may be compatibility problems.

            I think you’ve done a great job and being able to customized widgets down to specific pages really helps make it a more complete CMS now. Thanks again Shiba.

          • ShibaShake says

            I have also heard good things about Widget Logic. It lets you set conditions on a widget by widget basis so it may better suit your needs.

          • ShibaShake says

            Hey James,
            I just released the new plugin update. I also tested it out with Widget Context and made the Widget Context options panel work together with Shiba Widgets.

            Let me know if you come across any bugs. Thanks!

  31. says

    it deleted my entire widgets! now do i need to re write them again?!

    oh no~~ what a mess~~~! all my widgets are gone after activating your plugin you should warn us!~

    • ShibaShake says

      Dear Taragis,
      I am sorry about that. Widget settings tend to be more ephemeral in nature since they go away when themes change etc., so I did not think it would become a big issue.

      However, you are right that it will be much better if the plugin created a copy of the original widget state when first activated. I will also include a warning as you suggested.

  32. says

    hi shiba, just one question…

    I had problems with some plugins in the file shiba-widget-style.php
    I resolved them just commenting line number 24 in this way:

    // get_settings(); $instance = $instance[$params[1][‘number’]];

    My question is… what is up to this line? Is it important? What does it do? can I take it commented?

    Thank you very much for your answer…. your plugin are just incredible, thank you so much for your work…

    • ShibaShake says

      That line allows the plugin to access the right widget instance so that it may add custom style classes to it. However, if you are not using custom classes, then it is unnecessary.

  33. says

    Hi Shiba – Changing the default page worked! So now I have the widgets I want on every blog page. The individual links (under Recent Posts) originally looked pretty crowded. I added some space and they look better. But, ideally, I’d like to add a line between the links. Similar to how HubSpot treats Recent Posts on their site Do you know what CSS code I would enter into the CSS Inserts for this to work? Thanks!

  34. says

    Another question for you Shiba. As you can tell, I am using your plugin! I have set up a right sidebar widget for my blog and post home pages I have specified this custom widget for both pages. The widget includes “Recent Posts,” “Categories,” “Blog Archive” and “Meta Data.” The widget shows up fine on the Posts home page, however, it is not showing up on my Blog home page. The blog sidebar includes “Recent Posts,” “Blogroll,” and “Meta.” This appears to be a default sidebar, and my custom widget is not overriding it? How do I get the Blog home page to include the custom widget I set upt? Thank you!

    • ShibaShake says

      The widget shows up fine on the Posts home page, however, it is not showing up on my Blog home page.

      Go into Appearance >> Widget Options. Set the widget set under is_frontpage to what you want.

        • ShibaShake says

          I must have misunderstood you then. There is a static front page and a page that shows all your blog posts (posts page). If you go into Reading Settings the first is defined as Front page and the second as Posts page.

          From your description it seems like you are having trouble with the static front page but from looking at your site I now see it is an issue with the posts page – which makes a lot more sense.

          The Posts page in WordPress is just a placeholder and none of the styles, templates etc are used from it.

          Currently the Posts page will always use the Default widget set. I can set up an extra condition for it but that might be confusing to the people who do not use static front pages. One of those things …

          Btw – Your site is shaping up really nicely. Good work!

          • says

            Thank you so much. This is my first web site, so lots of learning! I understand your comment about confusing people who use WP for blog only. Is there anything I can do to change the default settings for the Post page? Thanks so much. My site wouldn’t look this way without your plugin!

          • ShibaShake says

            Is there anything I can do to change the default settings for the Post page?

            You can change the Default widget set. This is the widget set that gets used for all pages that do not have widgets associated with them.

  35. says

    Hi Shiba –

    Hoping you can help with this one. I added a text box widget to my home page right side bar containing a link to my blog. I have a unique widget set specifically for my home page. The link then started appearing automatically in text boxes on other sidebars, even though those sidebars contained a completely different widget set. The link actually replaced the code I had previously entered in these text boxes (). For example, I didn’t like the spacing on my blog page so I added the text boxes with the <div code to open up the space between widgets. I ended up removing the widget with the link and re-entering the <div code in all other text boxes. Any thought on why this happened?

    • ShibaShake says

      There is a checkbox that appears on text widgets that allows you to propagate the changes made in the text box. It should only propagate to other text widgets that have the same previous text.

      My guess is that you had copied the widget set so the text widget had the same text as some other ones. When you changed its text and saved it, the changes got propagated to other text widgets with the same text.

      To turn off propagation, simply uncheck the propagate checkbox. I should probably have it default to unchecked. Will definitely do that on next update which I will start on after I finish moving all my blogs to a multisite setup.

      Thanks for letting me know of these issues. Please continue to give me input so that I can improve the plugin UI

      • says

        OK – I unchecked the box and that fixed the problem. It does automatically recheck before saving the widget set, though, so I have to really watch out for that. Would be great to have default unchecked as you suggest.

        Another question. I’d like to change the link color within a widget. What is the CSS code for that? I’ve tried many things, but seems to change the link style throughout my site. I just want to change the color in one specific text box.

        Also, when I changed the font size of the text box, it also changed the size of the title, which I did not want. Is there a way to set styles for just the text box and not the title? Thanks…

        • ShibaShake says

          I’d like to change the link color within a widget. What is the CSS code for that?

          Try something like –

          .my-css-class1 a { color:#00f; }
          .my-css-class1 a:hover { color:#0ff; }

          where my-css-class is the style you added. You can also do the same thing using other ids in the widget div.

          Is there a way to set styles for just the text box and not the title?

          Yeah you want to apply the font-size just to the div for the text. Currently you are probably applying the font-size to the outer div that contains both the text and the widget-title. You can do something like –

          .menu { font-size: 1.0em; }
          .menu-item { font-size: 1.0em; }

          Either menu or menu-item should work.

          Also Google Chrome is very handy for getting a quick view of divs. If you right click on any page element in Chrome you can choose to ‘Inspect element’ which shows you the div and all the css styles applied. Very useful.

  36. says

    Hi Shiba. I have both the 1.2.1 and 1.2.2 versions of the plugin in WordPress. Only 1.2.2 is active. Can I safely delete version 1.2.1 or will that affect my site? Also, could this be causing some of the problems I am having with the style classes attaching to the wrong widgets?

  37. says

    That’s the strange part. I applied the css style to the text box in the left sidebar (I added some text in the box so you can see it), yet the style change is being applied to the box in the right sidebar…

    • ShibaShake says

      Hmmm … this sounds like a bug I just fixed a couple of days ago. Try reloading the plugin zip, and reinstalling it and let me know what happens. Thanks!

        • ShibaShake says

          Yeah I would delete version 1.2.1 – which would probably delete the whole plugin. Then just reinstall 1.2.2.

          • says

            Not good. I deleted the version, and now my site is gone and I cannot even access my wordpress admin panel through GoDaddy. I am on hold with GoDaddy. I am afraid they will not support me because it is not a WP plug-in. Can you help, please…

          • says

            Here is the code I get when I try to access my site or the admin control panel:

            Warning: require(/home/content/53/6096253/html/wp-content/plugins/shiba-widgets/shiba-widget-general.php) [function.require]: failed to open stream: No such file or directory in /home/content/53/6096253/html/wp-content/plugins/shiba-widgets-1/shiba-widgets.php on line 45

            Fatal error: require() [function.require]: Failed opening required ‘/home/content/53/6096253/html/wp-content/plugins/shiba-widgets/shiba-widget-general.php’ (include_path=’.:/usr/local/php5/lib/php’) in /home/content/53/6096253/html/wp-content/plugins/shiba-widgets-1/shiba-widgets.php on line 45

          • ShibaShake says

            Just delete the whole shiba-widgets directory. Go into your hosting server admin panel – go into
            wp-content/plugins and delete the shiba-widgets or shiba-widgets-1 directory. Your site is still there- there is just an error that is preventing it to load.

            Here are the instructions from GoDaddy on how to delete files-

            Make sure to only delete the shiba-widgets-1 directory and not anything else.

          • says

            I can breathe again. Deleting the Shiba directory allowed me to access the admin panel and installing the new version corrected all of the style problems. Thanks for your help and patience…

          • ShibaShake says

            I am so glad it is all fixed 😀

            Remember to backup your blog on a regular basis so that you can restore it if you ever need to. I think GoDaddy may have an automatic backup function.

  38. says

    I found where to put the code in the Atahualpa theme, and I’m seeing the changes. Finding something strange, though. I added a text box to the left sidebar and added the style code there. However, the change is showing up in the right sidebar. I tried it many different times with the same result. Have you heard of this problem before? Maybe it’s late??

  39. says

    Well — I’m trying! I added the code at the bottom of the css style sheet as you can see below. I tried it with the */ and without, but it didn’t work either way. I then added my-css-class1 in the style box of the widget, but nothing happened. I’m simply trying to change the background color and font color of this widget. Thank you for your help!

    Theme Name: Atahualpa
    .aligncenter {
    	display: block;
    	margin-left: auto;
    	margin-right: auto;
    .alignleft {
    	float: left;
    .alignright {
    	float: right;
    .my-css-class1 { 
    	color: #ffffff;
    	background-color: #666600
    • ShibaShake says

      Ok I looked briefly at your site.
      1. The my-css-class1 is appearing on the first text widget, however all that widget seems to contain is an image. Are you trying to change the color and background of the image? If so it is necessary to change that on the image itself. The CSS will only affect regular text and background.
      2. The /* and */ symbols are for comments – i.e. whatever is put between those symbols won’t actually get executed. In this case you want to leave the symbols out.
      3. Often the text color and background color of a widget may already be defined by the theme you are using. To change those colors you will need to override those specific styles which can sometimes be non-trivial.

  40. says

    Really stupid question to you, I’m sure. But where do I place the code:
    .my-css-class1 { color:#00f; background-color:#f00; }


    • ShibaShake says

      Usually CSS styles go into the style.css file of your theme (or child theme). If you want to create dynamic styles – then it goes into the functions.php file.

      If you let me know what your end goal is, I could probably point you in the right direction.

  41. says

    Hi Shiba – Love your plugins! Quite new to WordPress and have virtually no CSS/HTML knowledge. In spite of this, am doing ok with the Atahualpa theme. I am trying to “Add Widget Styles” to one of my widgets. Your instructions seems simple, but I can’t get it to work. Can you provide an example of the exact code that should be entered in the style box as opposed to “test 1, test 2, test 3.” Thanks!

    • ShibaShake says

      Hello Sheryl,
      Just enter in the CSS class names you want to use separated by commas. So for example –

      .my-css-class1 { color:#00f; background-color:#f00; }
      .my-css-class2 { color:#f00; background-color:#00f; }

      Then within the style box enter –


      Note – there are no spaces.

      Also there were some bugs with the style module that I just fixed so make sure you have the most recent version of the plugin. Let me know if you run into any problems.

  42. ShibaShake says

    Hello Indra,

    Could you let me know some of the details of your setup –
    1. What theme are you using?
    2. What plugins are you using?
    3. When you first activate the plugin, does the Default widget appear in Appearance >> Manage Widgets?
    4. Can you edit Default widget and make changes?
    5. Do the changes of Default widget show up on the main page?

    It may also help if you include a link to the HTML page that is showing the error.

    I am currently unable to duplicate this error. To properly debug it I would need more information or I could debug it on your setup – but I would need a temporary account for that.

    • says

      I have sent you temp login, please check.

      Here’s what I experienced:
      1. What theme are you using? elegantthemes 13th Floor
      2. What plugins are you using? several, please see in admin page
      3. When you first activate the plugin, does the Default widget appear in Appearance >> Manage Widgets? when i first activate plugin, my original widget were all erased.
      4. Can you edit Default widget and make changes? Yes, i can in the setup panel, but in website, it says those warning error.
      5. Do the changes of Default widget show up on the main page? No, i get warning there’s error in plugin php and widget php.

      Thank you so much for you help

      • ShibaShake says

        Hello Indra,
        Unfortunately, I am unable to access your site. It goes into transferring data but never loads up. Here are some things to try –
        1. Go into shiba-widget-style and go to line 13. Change add_styles(&$params) to add_styles($params).
        Do you still get the error messages?
        2. Go into shiba-widgets.php and comment out line 161 –

        add_filter( 'dynamic_sidebar_params', array(&$this->style,'add_styles'));

        Do you still get the error messages?
        3. It could be a plugin conflict. Turn off all plugins. Do you still get the error messages?
        4. It could be a theme conflict. Switch to Twenty-Ten. Do you still get the error messages?

        Thanks for helping me debug the plugin. Let me know how it goes.

        • says

          Hi Shiba
          I want to tell you that your plugin is running now
          The error messages was disappear after I apply your 1st solution
          Thank you Shiba 🙂

  43. says

    I am also having an issue with the widget areas; they go blank when the SCW is activated. I have tried running it on a fresh install with the 20-10 theme, and have the “blank out” problem.

    I think it may be the patch that is causing this error, at least for new installs. Could you send me the non-patched 1.1 to test?

    Thank you! This is a game-changing widget…. you are a rock star. Also, your dogs are great. I have two myself.

    • ShibaShake says

      Hello Keith,
      The issue of blank widgets with Margaret has been resolved. It was an issue with running the plugin on a local (non-online) installation.

      they go blank when the SCW is activated

      SCW? I am a bit brain-dead when it comes to acronyms 🙂

      Hmmm it could be an issue with the Multi-Column widget? The MCW has to be the first widget, and then the other widgets you want to appear in the multi column area has to be below it. Also, it is best if the last widget is a standard widget. Certain specialized plugin widgets may not apply standard WP widget hooks that the MCW relies on. But this is only important for the last widget in the area.

      If it is a problem with the MCW, please let me know which widgets you placed in the MCW area, or even better yet, send me a screenshot of the widget edit screen. I can try to duplicate the issue on my installation and debug it that way.

      Could you send me the non-patched 1.1 to test?

      Hmmm, the only patch I did was to fix a change that was introduced into RC3 right before release. The widget sets were not rendering in the Manage Widgets screen. It is likely not related to what you are describing, but I can send you the non-patched version if you would like.

      • says

        I put the site into debug mode, and this is what I discovered:

        Warning: Parameter 1 to Shiba_Widget_Style::add_styles() expected to be a reference, value given in /#########/#########/public_html/wp-includes/plugin.php on line 166

        Warning: call_user_func_array() expects parameter 2 to be array, null given in /#########/#########/public_html/wp-
        includes/widgets.php on line 8911

        I only get these errors when I do the following: activate Custom Widgets Plugin; create a new widget group; and add a widget to the new group.

        I get these errors even when I use the 20-10 theme.

        • ShibaShake says

          Hi Keith,

          I am having trouble duplicating the error.
          What widget did you add to the widget set? Do you get these errors if you add a standard WP widget, e.g. Text or Archive Widget?

          It could also be a plugin conflict. What other plugins are you using?

          • says

            I have all other plugins de-activated, and I am using a standard WP widget –META Widget– in the testing.

          • says

            did you find any solution to this problem?
            please reply it here if you do. I have the same problem too:

            Warning: Parameter 1 to Shiba_Widget_Style::add_styles() expected to be a reference, value given in /home/depofran/public_html/wp-includes/plugin.php on line 166

            Warning: call_user_func_array() expects parameter 2 to be array, null given in /home/depofran/public_html/wp-includes/widgets.php on line 883

            Your widget looks really useful, but I can’t try it yet.

            Thank you!

  44. Margaret says

    I want to use this plugin so badly! But no matter what I do, when I assign a widget set to a page, the area for that widget set goes completely blank. I even downloaded a completely fresh version of wordpress 3.0 and made no changes to it whatsoever, just created a widget set containing a couple of standard widgets in the sitebar (meta and categories) and assigned it to the ‘about’ page. The sidebar went completely blank.

    This is killing me because I have been looking all over for something like this. I totally agree this functionality is the ‘missing piece’ of WordPress.

    If you have any ideas of how I could trouble-shoot this I would be really grateful. I am new to WordPress so don’t know much about what steps to take.

    • Margaret says

      I meant to say ….created a widget set containing a couple of standard widgets in the sidebar (not sitebar)

    • ShibaShake says

      Hmmm, here are some things to try –

      • First don’t create anything, and use the Twenty-Ten theme – does the default widget appear when you go into Appearance >> Manage Widgets?
      • Go to the main blog page – does the default widget set appear there?
        Edit the default widget, and add in a simple archive widget or text widget.
      • Save the widget by clicking the Save Widget Set button up at the top. Does the new widget appear on the main blog page?
      • Create a test widget and just put in a simple archive or text widget. Save the widget. Then assign it to a post and update the post. Does the new widget now appear on the post? Or does it go back to the default widget?
      • Refresh the post edit screen, does the newly assigned widget appear on the widget drop-down menu?
      • If it works for post, then repeat for page. Does the assigned widget appear on the widget drop-down menu after a save and a page refresh?

      Let me know what kind of results you get from the above and we can try to figure this out together.

      • Margaret says

        Thank you for getting back with me!

        Per your instructions I have taken the following steps:

        Did a fresh install of WP3.0.
        Did not change theme (using twenty ten)
        Both the home (posts) page and the about page displayed the following in the sidebar:
        Recent Posts
        Recent Comments

        Then I installed and activated the plugin and then refreshed the page. After installing the plugin the sidebar only displayed the following (on both posts and page):

        I went to Widgets–Manage Widgets. I clicked on the default widget.

        I clicked Edit and opened each of the widget areas and there were no widgets assigned in any of the areas.

        I added one text widget named ‘TEST’ with html value of ‘TEST’ to the ‘primary widget area’ of the default widget and clicked ‘Save widget set’ At this point the sidebar on both the posts and page went blank. I did not continue on to the next steps.

        I really appreciate your help!



  45. Russ says

    Hey Shibashake,

    Please ignore my last question. I should have been a little more diligent in reading this page and its reference to editing the Default widget set. I figured it out.

    This is one of the most useful plugins I’ve seen. Great job!

  46. Russ says

    Is this plugin supposed to render any sidebars you currently have assigned useless? I’m using the Multiple Category Selection Widget (which I really need) but when I activate this plugin in it kills the MCSW widget. Is there a way I can keep the MCSW widget AND use the Shiba Widget?

    If this isn’t the place to post support questions would you kindly let me know where to do that?


  47. Rob says

    ShibaShake, GREAT plugin. This kind of intuitive modular flexibility should be in WordPress core, I encourage you to pursue that! great job.

    I have been testing for an upcoming project and I found a few items I’d like to share…(FYI: I am using thematic theme)

    I don’t know if this is an actual bug, maybe…

    * When Adding widget sets to categories & tags…
    – it adds “[SHIBA WIDGET: ***widget name*** ]” to the description field. This is Bad–users may see this cryptic text.
    – if you remove that text and save, then it deactivates the widget set for that category/tag.
    – However, if you comment out the text it works OK

    Feature change/request/improvement…
    Child pages use same widget sets as its parent page?
    – Even though “default” widget set is selected, it still shows same widget as its parent
    – I think this should be an option in plugin setup, like this…

    When a widget is applied to a parent page (radio buttons)
    [ ] Automatically apply the same widget to all of the parent’s child pages
    [ ] Leave child pages alone. Do not apply the same widget to all of the parent’s child pages

    — AND / OR —

    On editor for posts/pages in the choose widget dropdown, add a choice for “same as parent page”

    Thanks again!


    • ShibaShake says

      Thanks for the great suggestions Rob. I am currently working on the next update and will definitely include them.

      Btw. I had a really good time reading through Koko’s articles. She really reminds me of Kai (a most awesome dog that one of my neighbors rescued from the streets) –

      Dannette has a great blog and I have been reading through many of her other articles.

      • Rob says

        Great update and new features! Glad I could contribute in a tiny way. I’m looking forward to using the new features!

        Maybe you should launch a mini site just about your plugins and commercialize it(?) This plugin could really take off! With so many businesses moving towards using WP for CMS and your plugin adding Joomla/Drupal like modular flexibility, it solves SO many WP issues.

        At least a dedicated site would help it being accepted to the WP repository where you would surely get a lot more exposure.

        Glad you enjoyed Koka and Dannette’s articles.


  48. says

    This is just what I’m looking for! But I received an error.

    Fatal error: Call to a member function substring() on a non-object in /home/simplifu/public_html/party-ideas/wp-content/plugins/shiba-widgets/shiba-widgets.php on line 197

    Using WP 2.9.2

    I also could not find the option to set the widget set on anything but category. Is it supposed to be within the pages and post edit screens?

    Any ideas?

    • ShibaShake says

      Hello Lou Anne,
      I am so sorry for these issues. I had made some small changes to the plugin and it had wider ramifications than I anticipated.

      I have downloaded a new zip which fixes the bugs you reported.

      There should be widget settings within page, post, category, and tag edit screens. Please let me know if you run into any more issues. Thanks.

  49. says

    Hi shibashake, this is a really awesome plugin. Would you be interested in helping me modify the plugin in return for a donation? Specifically I just need the custom CSS classes and would like that as a separate plugin. Please email me at the address in my comment. Thanks

    • ShibaShake says

      Hello David,
      The easiest way to do this would be to comment out certain action and filter hooks.

      I am currently updating the plugin and adding in some new capabilities. I will try to write something up on how to selectively load sections of the plugin once I am done with my update.

  50. ShibaShake says

    Bob, If you give me a link to the page I will have a look at it and see if I can spot the issue.

    Also let me know what widget classes you have added, and are styling.

  51. Bob says

    Hey Im installed the plugin and it seems to work. I want to use the plugin to independently style my widgets..I tried making classes in my style.css (child theme) but it doesnt do anything to the design. Any thoughts? Am I doing it all wrong? – Bob

  52. says

    This is such an amazingly powerful tool. Being stuck with certain widgetized areas across the entire site is a let down – this fixes that and really should be core.

    I have to say that it is extremely sad that this isn’t on Not exactly sure what they mean by “too commercial.” Possibly NSFW and that’s their reasoning. Is there anyway you would consider creating a safe sub-domain to have the repo point to for this plugin? I think it would be worth doing this and throwing up a PayPal donate link even if it bypasses your home site. My two cents.

    Thank you so much for this.

    • ShibaShake says

      Not exactly sure what they mean by “too commercial.” Possibly NSFW and that’s their reasoning.

      The main objection, according to WordPress at the time, was that I used search engine optimized terms on my main site. The second objection was that my main site is about dogs, and dogs have nothing to do with a WordPress author page. Unfortunately, creating a sub-domain was not an option because the issues were with the main domain.

      At the moment, I choose to continue writing about my dogs 😀

      Let me know if you run into any bugs with the plugin or if you have future feature suggestions. Thanks!

  53. shawn says

    Looks like a fantastic concept for a plugin. I’d try it but I also run 3.0.

    I can add that 3.0nightly is very stable. There are a few ‘blocker’ bug reports left, but most are irrelevant and easily circumvented.

    Will check back from time to time for updates about compatibility with 3.0

  54. ShibaShake says

    Thanks for letting me know Han. I will release an update once we get a stable version of 3.0.

    Can you put this on …. that would be perfect….

    I tried sometime ago but my site is too commercial for

  55. Han says

    Hi, great widget, I love the contol over the CSS classes and “group” setup. I cannot use it at the moment as I’m on 3.0beta2 for a new site and that throws an error in the back-end…. see below. Though it seems to work despite the error. Can you put this on …. that would be perfect….

    Gebruikersagent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; MDDC; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
    Tijdstempel: Mon, 17 May 2010 12:22:40 UTC

    Bericht: ‘attr(…)’ is leeg of geen object
    Regel: 57
    Teken: 76
    Code: 0
    URI: ……../wp-admin/load-scripts.php?c=1&load=hoverIntent,common,jquery-color,jquery-ui-core,jquery-ui-sortable,jquery-ui-draggable,jquery-ui-droppable,admin-widgets,wp-ajax-response,admin-tags,inline-edit-tax&ver=6a839ab46479f03371306aae57080457

    • Han says

      Sorry, just noted the dutch it says attr (…) is empty or no object.

      And on the manage widgets page I get this error:
      Missing argument 2 for inline_edit_term_row(), called in ……/wp-content/plugins/shiba-widgets/shiba-edit-widgets.php on line 200 and defined in ……./wp-admin/includes/template.php on line 22

  56. ShibaShake says

    Thanks for letting me know. I fixed the issue and have uploaded a new zip.

    Let me know if you encounter more bugs.

    • says

      Very cool…I will download it and try it and see how it goes but probably won’t be able to get to some testing for a day or two…my schedule is very tight finishing my latest theme. If all goes well, I’d like to try this in my next theme (credit to you of course). Just a quick question, how hard would it be to convert this widget to the functions.php file?

      By the way, here is another potential project for you…and another one of those “why hasn’t anyone done this yet” thing…a setting on widgets to disable the title from the site front-end, even if a person still has a title on a widget. Right now the only method is to do it by css as display:none; but this is bad for seo. Something like a checkbox to disable the title from showing.

  57. says

    Great to see this done up…however, I just tried it and got this error:
    Warning: get_class() called without object from outside a class in D:\xampp\htdocs\wordpress\wp-content\plugins\shiba-widgets\shiba-widget-general.php on line 64

    Warning: get_class() called without object from outside a class in D:\xampp\htdocs\wordpress\wp-content\plugins\shiba-widgets\shiba-manage-class.php on line 106

    Warning: get_class() called without object from outside a class in D:\xampp\htdocs\wordpress\wp-content\plugins\shiba-widgets\shiba-widgets.php on line 258

Leave a Reply

Your email address will not be published.