Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Show or Hide Widgets on Specific WordPress Pages

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Do you want to display widgets on specific pages of your WordPress website?

By default, when you add widgets to your website, they will be shown on all pages. However, sometimes you may only want to show selected widgets on certain pages can help you better customize your website and provide a personalized user experience.

In this article, we will show you how to easily show or hide widgets on specific WordPress pages.

How to show or hide widgets from WordPress pages

Why Show or Hide Widgets on WordPress Pages?

WordPress widgets allow you to add additional content to your site’s sidebar, footer, and header.

They help put important information in front of your visitors, like a contact form, social media pages, sales offers, your most valuable pages, and more.

For example, displaying a search box widget on the checkout page of your online store doesn’t provide any benefit to your visitors. On the other hand, showing discount coupons for products and services in the widget area can increase your sales.

Similarly, you may want to keep your homepage clean and reduce its distractions. Hiding widgets on the homepage will keep it clutter-free and increase user engagement on your WordPress website.

Sadly, WordPress doesn’t offer an option to show or hide widgets by default.

That said, let’s see how you can easily display widgets on specific pages using a WordPress plugin.

Showing/Hiding WordPress Widgets on Specific Pages

You can easily hide or show widgets on specific pages using Widget Options. It is a complete widget-management plugin that helps you assign and restrict widgets for different pages, posts, and devices.

Note: If you are using a block theme, then Widget Options will convert your block-based widget areas into classic widget areas. Then, you will be able to use the plugin to show/hide widgets across your site.

First, you need to install and activate the Widget Options plugin. For more details, please see our step-by-step guide on how to install a WordPress plugin.

Upon activation, you can start by visiting the Settings » Widget Options page from the WordPress admin sidebar. Here, you will find different options that the plugin offers to customize your widgets.

Make sure that the ‘Classic Widgets Screen’ option is enabled so that you can hide or show widgets on your website.

After that, simply click the ‘Configure Settings’ button in the ‘Pages Visibility’ box.

Widget options settings

From here, you can control where your widgets will be visible and choose where you don’t want to display them.

By default, the plugin will have the post types tab, taxonomies tab, and miscellaneous tab options enabled.

However, you can uncheck the box for any option to customize the visibility of widgets on different pages.

Edit page visibility options

When you have made the changes, simply click the ‘Save Settings’ button.

Next, you need to head to the Appearance » Widgets page from your admin sidebar and click on any widget that you want to show or hide. This will expand the widget settings, and you will see options for widget visibility.

Now, under the ‘Hide/Show’ dropdown menu, simply select the ‘Hide on checked page’ or the ‘Show on checked pages’ option according to your liking.

By default, widgets will be hidden on the checked pages, but you can change that to show widgets on the checked pages instead.

Choose if you want to show or hide widget on the checked pages from the dropdown menu

Next, the ‘Misc’ tab provides options to hide widgets on the home/front page, blog section, archives, 404 pages, and search page.

After that, go ahead and switch to the ‘Post Types’ tab and choose on which pages you want to hide/show the WordPress widget.

Check the pages where you want to hide or show the widget

Lastly, you can go to the ‘Taxonomies’ tab and select categories to hide or show your WordPress widgets.

This means that the widget will be displayed or hidden for the blog posts with that specific WordPress category.

Check box next to the categories where you want to show or hide the widget

Finally, don’t forget to click the ‘Save’ button to store your settings.

You can now visit your website to see it in action.

For this tutorial, we have only displayed the ‘Search’ widget on the ‘Blog’ page and hidden it on all the other pages on our WordPress website.

Preview for show/hide widgets

We hope this article helped you learn how to show or hide widgets on specific WordPress pages. You may also want to see our list of the most useful WordPress widgets and read our article on how to create a free business email address.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

63 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Ian Hanson says

    After hours of perusing all my WP Theme options (why it takes me this long to solve problems I’ll never know) I Googled how to show widgets on certain pages and not others…and found your post.

    It’s SO easy now. How I lived without it before I’ll never know. Actually, I don’t think I was living. Thanks!

  3. Jim Gersetich says

    The plugin referenced does not work. I installed Widget Context and activated it. However, the Appearance | Widgets page still only shows the defaults (Blog Sidebar, Footer 1, and Footer 2.) The dialog box you show does not appear, even after closing the browser and reentering.

    • WPBeginner Support says

      The section should be on individual widgets. If they are not appearing you may need to reach out to the plugin’s support to see possible issues.

      Admin

  4. Vikram Bheel says

    Sir, I bought the Business 5 theme from the instamajo on October 3, 2018. I have 2 problems in customizing this theme.

    1. Apperiance >> Customize >> Widget

    Sidebar 1 is not visible here in place of widget and a message is visible

    Your theme has 1 other widget area, but this particular page does not display it.

    You can navigate to other pages on your site while using the Customizer to view and edit the widgets on those pages.

    How to solve this problem

    2. The option of logging in footer area of ​​this theme is also coming, how to remove it

    Please request to the Wpbeginner team to resolve these issues.

    • WPBeginner Support says

      Hi Vikram,

      Your theme does not display widgets on the page you are viewing in the customizer. An easier way to add widgets is by going to Appearance > Widgets page instead.

      Admin

  5. Abby says

    Hello, I don’t know to get my subscribe widget to show on every page. Right now it shows on every page on my computer but only shows on my “About Me” Page for others. I have selected for it to appear everywhere. Can you help?

  6. Katie says

    So I am totally new to this whole thing. I managed to get the TopConsult theme installed and now Widget Context but unless I am being a dumb blonde it’t not working. When I click on a widget the only option I have is to add or cancel. As well as there are “default widgets” built into the theme one of which is a smart slider that I only want to appear on the home page! And it doesn’t look like I can edit those at all? Can anybody help me?!

  7. Julie Spears says

    I am trying to use the visibility option on my Text widget to hide the sidebar from a specific page. But it isn’t working. The widget still shows up on that page. Any ideas?

  8. john says

    I am sorry but widget context does not have the ability to display on every page? If I click the setting that says show widget everywhere it does not display my slider widget on every page. If I click on show widget on selected and enter a custom URL (the URL to one of the pages on my site) it still does not show the slider widget on that page. I am not sure why or how to fix this but help would be appreciated.

  9. David Norwood says

    Thank you for your reply. I need a plugin like Display Widget, as I have it set up to show menus on the sidebar in specific categories . Maybe I am doing it incorrectly, but it seems to be more global?

  10. David Norwood says

    Thank you for the plug-in suggestion. I need a replacement for Display Widget

    however, widget context Untested with your version of WordPress, which is the most recent .

    Do you if it will be updated anytime soon?

  11. Noel says

    Hi All, it seems this plugin has been removed. Anyone know of another plugin that operates in the same way – showing certain widgets on certain pages and hiding sidebar (show full width page) on pages you do not want the widgets to appear on – similar to what Display Widgets did?

  12. Alex says

    Unfortunately, it looks like the latest WordPress update broke editing the widgets. The settings I had set for my widgets before the update remain, but I can’t change them or add settings to future widgets. Does anyone have a fix for this?

  13. Steve says

    This all works great, however, there is one situation where it does NOT work and that is for a specific URL that is part of a third party integration, like aMember.

    The aMember page do not appear as any of the normal taxonomy, so you would need to somehow add the specific URL to the widget. So far I do not see that functionality.

    Wondering if there is another way to hide widgets you want to shown on the rest of the site, but not on these third party integration pages. Any ideas?

    • Steve says

      Took me only a few minutes to figure this one out, here’s the solution:
      For any pages that reside outside of the WordPress taxonomy, you can use the logic setting. Click the gear symbol, then open the “logic” tab.
      In my case, simply entering the conditional: is_page( $page = ‘/member/*.php’ )
      hides the widgets on all pages associated with my WP integrated third party membership scripts.

  14. Michael J Ming says

    Almost too easy. I used Display Widget for the first time and it did exactly want I wanted it too.

  15. Miriam says

    The widget is only showing up on categories, not on pages. I have tried all different combinations and none but categories are working. Please help.

  16. Lori says

    I’m using the Divi theme and the widget isn’t showing on the pages I checked. I have updated to the latest version of the theme and WordPress. Help!

  17. Shaun Taylor says

    Hello,

    This is great and just what I’m looking for, however Is there a way, instead of showing or hiding on different pages, to show and hide in different sections?

    For example if my site structure is:

    Home
    About
    –Subpage
    –Subpage
    –Subpage
    Work
    Services
    –Subpage
    –Subpage
    –Subpage
    Contact

    So rather than me having to choose all of the sub pages in the service section, can I just choose everything under example.com/services/ will show or hide a certain widget?

    Any help would be appreciated! :)

  18. Gaurav Kumar says

    Hi,

    I have removed text widget from blog, still it is loading when I am opening the site.

    Please tell me what should I do.

  19. Victor says

    Hey, does this work with WP 4.5.4 or later? Because I have installed it and shows no difference. Im trying to hide a widget from a page.

    Thanks

    • Steph says

      I am having exactly the same problem, it used to work for me but has stopped working recently

  20. Mahendra says

    It will work 100% on some themes.
    But in other themes when you will hide widget, a message will display instead of widget.

    I have a trick for second type of themes.

    Add only text widget, inside the text widget, text will be nothing.

    I have used this trick in my sites. for example I have used in my own site.

  21. Mujahid Rasul says

    I installed and used Widgets Display plugin. why hidden widgets are still occupying space in the site pages. I mean the there should be left only one column showing the text on the whole screen. Now the widgets are not showing but space is empty. please provide solution of this problem

  22. Bob Clinton says

    Installed on WP 4.3 and WP 3.5.1 Just get a blank text area field under the words “Widget logic: ”

    What am I missing???

  23. Anurag Singh says

    very nice i am very thank full to you wondering from last month for this.
    now it’s done

  24. AyhanSipahi says

    i used to use widget logic before this.

    is_page(); is_single(23,454,53,1,); used to use code based taxonomies

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.