should not be hardcoded. How widgets are displayed should always be handled by the theme. Creating widget controls or settings The reason the new widget class in WordPress 2.8 is so cool is how easy it is to set up controls for your widgets. The get_field_id() and get_field_name() functions handle most of the dirty work, leaving us to concentrate on more important things like actually creating the widget. Take special notice of how these functions are used because it'll make life much simpler for you. First, we might want to set up some defaults. By setting up defaults, we can control what's shown just in case the user doesn't select anything. The only step left is closing off the form function and the rest of the widget code. &lt;?php } } ?&gt; Time to create your own widgets If you've ever created or attempted to create a widget in WordPress prior to 2.8, then you can probably see how much easier this is. To help people learn the new system, I've put together an example widget. I've left loads of comments about what code does what in the file, so it should be pretty easy to follow: Hi Thanks for your guide. I have followed your guide and managed to create multiple instances of the plug-in and had then displayed them on different sidebars. But when I try to change the options on one widget on a sidebar ... the changes will automatically apply to all the instances of widgets