Disable widgets on specific posts

I run a horror related blog. Google is upset with me for displaying adsense in a sidebar widget for one specific post number (4603) that contains an article about an 18+ topic. How can I disable the widgets for a specific id?

Topic adsense filters sidebar widgets Wordpress

Category Web


I'd recommend Widget Manager Light or Display Widgets plugin for this. It's easier than using conditional tags or any code. You can see details on here.

Widget Manager Light let's you chose which widget to show on which post easily.

Thanks


I'd recommend the plugin Widget Logic to handle all your needs. You can just add logical tags to the individual widgets on the sidebar.

http://wordpress.org/extend/plugins/widget-logic/


You can filter sidebars_widgets and remove the widget you don’t need.

Example with a search widget; uncomment the debug code to find the correct identifier.

if ( ! is_admin() )
    add_filter( 'sidebars_widgets', 'remove_specific_widget' );

function remove_specific_widget( $widgets )
{
    if ( ! is_single( 402 ) ) // Post ID, title, slug, or array of such
        return $widgets;

    if ( ( $key = array_search( 'search-3', $widgets['primary-widget-area'] ) ) !== FALSE ) {
        unset( $widgets['primary-widget-area'][ $key ] );
    }

    // use this to inspect the current widget parameters
    //print '<pre>$widgets = ' . htmlspecialchars( var_export( $widgets, TRUE ), ENT_QUOTES, 'utf-8', FALSE ) . '</pre>';

    return $widgets;
}

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.