ワイズリマインダー

特定のウィジェットを非表示にする

RSSフィード配信を行う際に、個別ページ(single.php)のみ非表示にしたい。

RSSフィードは外観のウィジェットで設置しているので、
すべてのウィジェットが非表示になるのは困る。

functions.phpに以下のコードを挿入した。

//---------- 特定のウィジェットを非表示 ----------//
function remove_specific_widget($sidebars_widgets){
    if(!is_admin() && is_single()){
        foreach($sidebars_widgets as $widget_area => $widget_list){
            foreach($widget_list as $pos => $widget_id){
                if($widget_id=='custom_html-5'){
                    unset($sidebars_widgets[$widget_area][$pos]);
                }
            }
        }
    } 
    return $sidebars_widgets;
}
add_filter('sidebars_widgets','remove_specific_widget');
//---------- 特定のウィジェットを非表示 END ----------//

[/php]

is_single() で、個別ページのみ非表示にしている。

 

もし仮に、「スマホ版だけ」と言う指定をしたい場合は、
!is_admin() も追加する必要がある。
これを追加しないと、管理画面の外観>ウィジェットを開くたびに
そのウィジェットが自動的に停止されてしまう。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください