WordPress will show your widgets on every page of your website that contains the sidebar where your widget is published to. This is done by default and it’s the only option you have without using a plugin.
This is usually a problem because you may not want your widget to show on every page, but rather have it on select pages of choice.
You have Two Solutions
We touched based on these two plugins with the Introduction to Plugins and Recommendations tutorial.
- Jetpack – For users of Jetpack, you get a feature called “Widget Visibility“
- Display Widgets – a plugin by Strategy11
There are a few other options out there, but we will go with the two methods listed above.
JetPack Widget Visibility
- Go to Jetpack >> Settings >> Appearance
- Scroll down until you find Widget Visibility and click on the toggle button
- When you go to your widgets, you will find each widget will now have a new setting at the bottom:
- When you click on the “Visibility” button, you now get to configure where and how to publish this widget.
- From here, you can choose to show or hide on any page you select from the drop down.
- When done, click “Save“
Using Display Widgets
- Go to Plugins >> Add New >> and search for Display Widgets
- Click to install and then activate it.
- When you go to your widgets, you will find new settings at the bottom of each widget.
- You can show or hide your widgets on each page you select (checkboxes)
- Click “Save” when done.
Which One to Use?
Personally, I feel the Display Widgets plugin has a bit more flexibility because you can publish widgets to the full post (single post) whereas with Jetpack’s Widget Visibility, this is not as easy.
However, if you use Jetpack, you already have the capability to show or hide widgets with the Widget Visibility feature, so you won’t need to install Display Widgets. It’s more of a convenience with Jetpack, but again, if you need a bit more flexibility such as a single post option, Display Widgets is the one.
IMPORTANT: Make sure you have only one of the two options active on your site as having both running will create conflicts.