# Hide a Sidebar on Selected Pages or Post Types

> Empties a widget area on the pages or post types you choose, for example to keep the sidebar off landing pages and checkout pages.

- Type: PHP
- Runs: Run everywhere
- Category: [Widgets](https://wpide.com/library/category/widgets/)
- Tags: widgets, sidebar, layout
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/hide-sidebar-on-selected-pages/

## Code

```php
// ID of the widget area to hide.
$wpide_hidden_sidebar = 'sidebar-1';
// Page or post IDs where it is hidden.
$wpide_hide_sidebar_ids = array( 0 );
// Post types whose single views hide it, for example array( 'page' ).
$wpide_hide_sidebar_types = array();

add_filter( 'sidebars_widgets', function ( $sidebars ) use ( $wpide_hidden_sidebar, $wpide_hide_sidebar_ids, $wpide_hide_sidebar_types ) {
    if ( is_admin() || ! isset( $sidebars[ $wpide_hidden_sidebar ] ) || ! did_action( 'wp' ) ) {
        return $sidebars;
    }

    $hide = is_singular() && in_array( get_queried_object_id(), array_map( 'absint', $wpide_hide_sidebar_ids ), true );

    if ( ! $hide && $wpide_hide_sidebar_types && is_singular( $wpide_hide_sidebar_types ) ) {
        $hide = true;
    }

    if ( $hide ) {
        $sidebars[ $wpide_hidden_sidebar ] = array();
    }

    return $sidebars;
} );
```

## Notes

Set the sidebar ID (shown in Appearance > Widgets or your theme's code). Some themes still reserve the column; switch those pages to a full-width template if so.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Hide a Sidebar on Selected Pages or Post Types" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
