対象条件に一致するときだけサイドバーの表示を変更します。対象外では元の値を返し、SWELLで設定した非表示を勝手に表示へ戻したり、全ページを非表示にしたりしないコードです。
この記事のコードは、投稿タイプや分類などの条件でサイドバーの出力を切り替えるものです。画面幅や端末は判定しないため、「スマホだけ非表示」にするコードではありません。
CSSで見た目だけを隠す方法と異なり、SWELLがサイドバーを出力するかどうかの判定を変更します。スマホでの配置やウィジェットの中身は別に確認してください。
まずは基本設定からおさらいします。
SWELL 2.19.0では「外観 → カスタマイズ → サイドバー」に、次の4種類の表示設定があります。
- トップページ
- 投稿ページ
- 固定ページ
- アーカイブ

まずは標準設定と、編集画面にある記事・分類ごとの設定で対応できるか確認してください。投稿タイプや分類などの条件をまとめて指定し、個別設定より優先したい場合に、以下のフィルターを使います。
本記事では特定の条件でサイドバーを非表示にするカスタマイズを紹介いたします。
SWELLで特定の条件でサイドバーを非表示にするカスタマイズ
条件を指定してサイドバーの出力を変えるには、子テーマのfunctions.phpまたはPHPスニペットにコードを追加します。
swell_is_show_sidebarというフックを使用しています。
以下、詳しく解説いたします。
functions.phpにコードを挿入する
コードを記述する場所は下記になります。
子テーマのfunctions.phpのPHP領域、またはCode SnippetsのPHPスニペットのどちらか1か所
変更前のコードを保存し、下記の例のうち必要なものを1つだけ登録してください。親テーマのfunctions.phpは編集しません。
if文の条件を、自分のサイトで対象にしたい投稿タイプや分類へ変更してください。
今回はnewsというカスタム投稿タイプとplaceというカスタムタクソノミーでサイドバーを非表示にする条件を記載しています。
function motoki_swell_hide_sidebar( $is_show ) {
if ( is_singular('news') || is_tax('place') ) {
return false;
}
return $is_show; // 対象外は、表示・非表示の元の設定を維持
}
add_filter('swell_is_show_sidebar', 'motoki_swell_hide_sidebar', 20);swell_is_show_sidebarというSWELLのフックを使用しています。
カスタマイズは以上です。
コード挿入後にサイドバーが非表示になっているか確認しましょう。
SWELLで特定の条件でサイドバーを表示にするカスタマイズ
同じやり方ですが、たとえばeventというカスタム投稿記事の場合はサイドバーを表示させてみます。
function motoki_swell_show_sidebar($is_show) {
if (is_singular('event')) { // カスタム投稿タイプがeventの場合
return true; // サイドバーを表示
}
return $is_show; // それ以外の場合は元の設定を維持
}
add_filter('swell_is_show_sidebar', 'motoki_swell_show_sidebar', 20);
トップページとnewsの個別記事・一覧を非表示にする場合
function motoki_swell_hide_sidebar( $is_show ) {
if ( is_singular('news') || is_post_type_archive('news') || is_front_page() ) {
return false;
}
return $is_show;
}
add_filter('swell_is_show_sidebar', 'motoki_swell_hide_sidebar', 20);記事ごとの表示設定との優先順位を確認する
掲載コードのadd_filter()では、第3引数に20を指定しています。
SWELL 2.19.0では記事ごとのサイドバー設定が優先順位10のフィルターで反映されるため、その後でこの記事の条件を適用するためです。
優先順位の指定がない元のコードでは、newsを非表示にする指定が記事側の「表示」で上書きされ、eventを表示する指定も記事側の「非表示」で上書きされました。
修正後はnewsの記事側を「表示」にしても非表示になり、eventの記事側を「非表示」にしても表示されることを確認しました。
placeの一覧は非表示になり、条件に該当しない通常投稿はカスタマイザーの表示・非表示設定を維持しました。
2026年10月3日の隔離環境では、1280pxと390pxでnewsの非表示とeventのウィジェット出力を確認しました。place一覧の非表示は1280pxで確認しており、390pxでの再確認は行っていません。
このコードより後の優先順位で別のスニペットが同じフィルターを変更すると、その結果が優先される場合があります。
対象外のreturn $is_showを残し、サイト全体へ表示・非表示を強制しないでください。
元に戻すときは追加したスニペットを停止し、記事ごとの設定とカスタマイザーの設定が再び使われることを確認します。

まとめ
本記事では特定の条件でサイドバーを非表示にするカスタマイズを紹介いたしました。
サイドバーを使わないページでは、標準設定で非表示にする方法も選べます。掲載例を使う場合はPCにも同じ条件が適用されるため、必要な導線まで消していないか確認してください。
そしてカスタム投稿タイプやカスタムタクソノミーを使用しているときは、本記事のカスタマイズをご参考ください。
この記事で紹介しているコードは、GitHubのMOTOKI-LLC/WAZA-codeにもまとめています。
対象外の設定を維持する理由と戻し方
このフィルターはtrue・falseの両方を受け取ります。条件外でreturnを書かないとnullを返し、元の表示設定を失います。条件外で常にtrueを返すと、本来非表示だったページまで表示対象になります。いずれもreturn $is_showで元の値を維持します。
newsは投稿タイプ名、placeはカスタムタクソノミー名です。is_tax('place')はその分類の一覧ページであり、placeに属する個別記事を意味しません。例の名称を自分のサイトに合わせて変更してください。
同じmotoki_swell_hide_sidebar関数を使う2例は同時登録できません。変更する場合は先の例と差し替えます。戻すときは追加したフィルターを外すか、そのスニペットを無効化してください。表示をtrueにしても、ウィジェットの中身やスマホ幅の配置まで作成するものではありません。
検証記録(2026年10月1日):隔離したWordPress 7.1.2・SWELL 2.19.0環境で、news個別ページの非表示を確認しました。実際のplaceタクソノミーを登録した追加4条件でも、一覧の認識・非表示と対象外のtrue・falseの維持を確認しています。実サイトのウィジェット配置とPC・スマホの最終レイアウトは未検証です。
よくある質問:SWELLで特定の条件でサイドバーを表示・非表示にするとき
SWELLの標準設定では、サイドバーをどこで非表示にできますか?
SWELL 2.19.0では、トップページ・投稿ページ・固定ページ・アーカイブの表示設定があります。編集画面の記事・分類ごとの設定も確認し、標準設定だけで対応できる場合はコードを追加する必要はありません。
どのフックを使いますか?
swell_is_show_sidebarというフックを使い、functions.phpへコードを挿入します。記事では、変更前のコードを保存し、例のうち必要なものを1つだけ登録するとされています。親テーマのfunctions.phpは編集しません。
例のnewsやplaceは、何を指していますか?
newsは投稿タイプ名、placeはカスタムタクソノミー名です。is_tax('place')はその分類の一覧ページであり、placeに属する個別記事を意味しません。例の名称は、自分のサイトに合わせて変更してください。
条件に当てはまらないページでは、何を返せばよいですか?
return $is_showで元の値を返します。記事では、このフィルターはtrue・falseの両方を受け取るため、条件外でreturnを書かないとnullを返して元の表示設定を失い、条件外で常にtrueを返すと本来非表示だったページまで表示対象になります。サイト全体へ表示・非表示を強制しないでください。
記事ごとのサイドバー設定とは、どちらが優先されますか?
記事によると、掲載コードのadd_filter()は第3引数に20を指定しています。SWELL 2.19.0では記事ごとのサイドバー設定が優先順位10のフィルターで反映されるため、その後でこの記事の条件を適用します。優先順位の指定がない元のコードでは、記事側の設定に上書きされました。
ほかのスニペットと干渉することはありますか?
あります。記事では、このコードより後の優先順位で別のスニペットが同じフィルターを変更すると、その結果が優先される場合があるとされています。
サイドバーを表示する方向にも使えますか?
使えます。記事では、同じやり方で、eventというカスタム投稿記事ではサイドバーを表示させる例も紹介しています。
元に戻すには、どうしますか?
追加したスニペットを停止し、記事ごとの設定とカスタマイザーの設定が再び使われることを確認します。
どこまで動作確認されていますか?
2026年10月3日の隔離環境(WordPress 7.1.2・SWELL 2.19.0)で、newsの非表示とeventの出力を1280px・390px、place一覧の非表示を1280pxで確認しています。place一覧の390px表示、導入先のウィジェット配置と最終レイアウトは未確認です。



