web-dev-qa-db-fra.com

Désactiver les widgets sur des publications spécifiques

Je lance un blog d'horreur. Google est en colère contre moi pour avoir affiché adsense dans un widget de barre latérale pour un numéro de publication spécifique (4603) contenant un article sur un sujet de plus de 18 ans. Comment puis-je désactiver les widgets pour un identifiant spécifique?

1
Poe

Je recommanderais le plugin Widget Logic pour répondre à tous vos besoins. Vous pouvez simplement ajouter des balises logiques aux widgets individuels dans la barre latérale.

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

1
acsmith

Vous pouvez filtrer sidebars_widgets et supprimer le widget dont vous n’avez pas besoin.

Exemple avec un widget de recherche; décommentez le code de débogage pour trouver l'identifiant correct.

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;
}
2
fuxia

Je recommanderais Widget Manager Light ou Display Widgets plug-in pour cela. C'est plus facile que d'utiliser des balises conditionnelles ou un code quelconque. Vous pouvez voir les détails sur ici .

Widget Manager Light vous permet de choisir facilement quel widget afficher.

Merci

0
Ibnul Hasan