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?
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.
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;
}
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