WordPress does not make this easy when you want to publish a widget to just one (or a few) pages because there is no built-in function for that kind of capability, so you have to use plugins. There are a few plugins you can use, but the one that I prefer myself is called Dynamic Widgets. What this plugin does, is add a small text link at the bottom of every widget that either shows as “Static” or “Dynamic”. Static means it’s not assigned to any location yet, while Dynamic means it is.
** This plugin has a lot of options for you to choose where you want a widget to be published, so you will want to refer to the plugin’s documentation and the developer’s website. Expect a bit of a learning curve because the capability of this plugin is extensive, but will help you layout your site’s widgets precisely.
Install Dynamic Widgets
- Go to Plugins >> Add New
- Search for “Dynamic Widgets“
- Click install and activate it
Publish a Widget to a Page
- Go to Appearance >> Widgets
- Drag a widget into a widget position, for example, Page Right Sidebar
- Click Save on your widget
- On the bottom of the widget, click on the text link labeled as “Static“
- At the very top, click on the text link “Set all options to ‘No’ (Except overriding options like Role, Date, etc.)”
- Further below, click on the tab dropdown “Pages”
- Where it says “Show widget default on static pages?“, select No
- On the list of pages, choose the page you want this widget to show only by checking the box next to it.
- Click Save. Now your widget should say “Dynamic” at the bottom.