楽天セール開催中!ポイント最大11倍! セール会場へ

SWELL│特定のカスタム投稿タイプのアイキャッチ画像を非表示にする方法

カスタマイズされたページにブログのようなアイキャッチ画像を表示する必要がない場合があります。

その場合はSWELLのフックを使うと、特定のカスタム投稿タイプに対して簡単にアイキャッチの画像を非表示にできます。

そのやり方を紹介します。

この例は、投稿タイプのスラッグがnewsの記事で、記事上部のアイキャッチ画像を非表示にします。SWELLのYouTube動画置換は、記事ごとのアイキャッチ設定を「表示」にしている場合に残ります。メディアの画像ファイルやアイキャッチの登録情報は削除しません。記事一覧のサムネイルを消すためのコードではありません。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

SWELLで特定のカスタム投稿タイプのアイキャッチ画像を非表示にする方法

やり方は簡単です。

子テーマ(SWELL CHILD)のfunctions.phpの末尾に、下記のコードを追加します。親テーマのfunctions.phpに書くと、テーマの更新で消えるため避けてください。コード内のnewsは、ご自身のカスタム投稿タイプのスラッグに置き換えてください。

作業前にfunctions.phpのバックアップを取りましょう。エラーが心配な人は、Code Snippetsプラグインにコードを登録しましょう。元に戻したいときは、追加したコード(スニペット)を削除または無効化し、キャッシュをクリアしてください。

add_filter( 'swell_parts_post_thumbnail', function( $html, $post_id, $is_youtube ) {
    // カスタム投稿タイプ「news」の場合、アイキャッチ画像を非表示にする
    if ( $is_youtube ) {
        return $html;
    }

    if ( get_post_type( $post_id ) === 'news' ) {
        return '';
    }

    // それ以外の場合は通常通りアイキャッチ画像を表示
    return $html;
}, 10, 3 );

変更される画像と残る画像

表示場所・内容newsでの結果
記事上部のアイキャッチ画像出力しない
SWELLの記事一覧にあるサムネイル残る
本文に挿入した画像このフックでは変更しない
YouTubeへの置換表示残る(記事ごとのアイキャッチ設定が「表示」の場合)
アイキャッチの登録・メディアの画像残る

一覧の画像を残して記事上部だけを消したい場合に、このコードを使います。WordPress 7.1.2・SWELL 2.19.0では、同じnews記事で上部の画像を出力せず、一覧用の画像HTMLを生成できること、本文とアイキャッチの登録情報が残ることを追加で確認しました。

対象記事と通常記事を組にして確認する

開く記事・内容期待する結果
newsの通常のアイキャッチ記事上部の画像を出力しない
newsのYouTube置換表示(記事ごとの設定は「表示」)動画用のHTMLを残す
通常の投稿などnews以外渡されたアイキャッチのHTMLをそのまま残す
本文画像・記事一覧上部用フックの対象外として、それぞれの場所で表示を確認する

まず同じ投稿タイプで、通常の画像とYouTube置換がある記事を1件ずつ確認し、続けてnews以外の記事も開きます。投稿タイプの条件を広げすぎると、通常記事まで対象になるためです。検証環境のWordPressフィルターへHTMLを渡す試験では、YouTube指定・通常投稿・投稿IDを取得できない場合に元のHTMLが残ることを確認しました。YouTubeの実再生は、設置先の公開ページで別途確認してください。

消えないときの確認順

最初に、対象が通常の投稿ではなくカスタム投稿タイプか確認します。newsは表示名の「ニュース」やカテゴリー名ではなく、投稿タイプを登録したプラグイン・コードのスラッグです。その値へ書き換えてから対象記事を開き直します。次に、残っているものが記事上部の画像か、本文画像・一覧のサムネイル・YouTube表示かを確認します。最後に該当ページのキャッシュを消して再確認します。

子テーマとCode Snippetsの片方へ登録し、news以外の通常記事も確認してください。記事一覧そのものの表示条件を変えたい場合は、投稿タイプを指定する人気記事の例を参照できます。

実ニュース記事で確認した表示

実WordPressに登録したnews投稿で、上部のアイキャッチが消え、タイトル・日付・本文が残ることを確認しました。同じ画像を登録した通常投稿では、画像が表示されます。

newsにSWELLのYouTube設定を入れた場合も、YouTube用のfigureとiframeのHTMLは残りました。動画の再生や外部配信の成功を確認した結果ではありません。

対象と対象外に同じ画像を登録して比べると、画像未登録とコードによる除外を区別できます。newsという投稿タイプ名は登録名に合わせて変更し、確認用URLもその投稿タイプの正規URLを使ってください。

news記事のアイキャッチだけを除き本文を維持した実SWELL画面
2026年10月2日、隔離WordPressで撮影した実画面です。

YouTube置換と記事ごとの表示設定の関係

スクロールできます
投稿と個別設定実際の記事上部の出力
news、YouTube設定あり、アイキャッチを非表示YouTube用のfigure・iframeを出力しない
news、YouTube設定あり、アイキャッチを表示YouTube用のfigure・iframeを残す
通常の投稿、YouTube設定あり、アイキャッチを非表示YouTube用のfigure・iframeを出力しない

SWELL 2.19.0の実際の個別記事テンプレートで、上の3条件を確認しました。

記事ごとの「非表示」は、アイキャッチ用フィルターへHTMLを渡す前に処理されます。

そのため、このコードのYouTubeを残す分岐があっても、個別設定で非表示にした動画を表示へ戻すことはできません。

YouTubeを残したい対象記事では、記事ごとのアイキャッチ設定も表示にしてください。

これはYouTube置換の場合の条件です。newsの通常画像は、このPHPの投稿タイプ条件により非表示になります。

今回確認したのはSWELLが返すfigure・iframeのHTMLです。外部YouTubeの取得や実際の動画再生は確認していません。設置先では公開ページで再生できるかも確認してください。

まとめ

簡単なカスタマイズですが、こういった非表示の処理は、CSSで見た目だけ隠すのではなく、PHP側で出力自体を止めると、HTMLの構造もシンプルになります。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/WAZA-codeにもまとめています。内容が異なる場合は、このページの掲載コードを使ってください。

よくある質問:SWELLで特定のカスタム投稿タイプのアイキャッチ画像を非表示にするとき

このコードで、何が非表示になりますか?

記事では、投稿タイプのスラッグがnewsの記事で、記事上部のアイキャッチ画像を非表示にします。メディアの画像ファイルやアイキャッチの登録情報は削除しません。記事一覧のサムネイルを消すためのコードではありません。

コードは、どこに追加しますか?

記事では、子テーマ(SWELL CHILD)のfunctions.phpの末尾に追加します。親テーマのfunctions.phpに書くと、テーマの更新で消えるため避けます。作業前にfunctions.phpのバックアップを取り、エラーが心配な人はCode Snippetsプラグインにコードを登録します。

newsの部分は、何に書き換えますか?

ご自身のカスタム投稿タイプのスラッグに置き換えます。記事では、newsは表示名の「ニュース」やカテゴリー名ではなく、投稿タイプを登録したプラグイン・コードのスラッグだとしています。

記事一覧のサムネイルや本文の画像も消えますか?

消えません。記事の対応表では、SWELLの記事一覧にあるサムネイルは残り、本文に挿入した画像もこのフックでは変更しません。一覧の画像を残して記事上部だけを消したい場合に、このコードを使います。

YouTube動画に置き換えている記事は、どうなりますか?

記事では、SWELLのYouTube動画置換は、記事ごとのアイキャッチ設定を「表示」にしている場合に残ります。記事ごとの「非表示」は、このコードより前に処理されるため、個別設定で非表示にした動画を表示へ戻すことはできません。YouTubeを残したい記事では、記事ごとのアイキャッチ設定も表示にします。

アイキャッチが消えないときは、何を確認しますか?

記事では、最初に対象が通常の投稿ではなくカスタム投稿タイプか確認します。次に、残っているものが記事上部の画像か、本文画像・一覧のサムネイル・YouTube表示かを確認します。最後に該当ページのキャッシュを消して再確認します。

news以外の通常記事にも影響しませんか?

記事では、news以外の通常の投稿などは、渡されたアイキャッチのHTMLをそのまま残します。投稿タイプの条件を広げすぎると通常記事まで対象になるため、子テーマとCode Snippetsの片方へ登録し、news以外の通常記事も確認します。

元に戻したいときは、どうしますか?

記事では、追加したコード(スニペット)を削除または無効化し、キャッシュをクリアします。なお、確認したのはSWELLが返すHTMLで、外部YouTubeの取得や実際の動画再生は確認していません。設置先では公開ページで再生できるかも確認してください。

  • URLをコピーしました!

実装を任せたい方へ

SWELLのカスタマイズ代行

記事のコードをそのまま使うのが不安な場合や、サイトに合わせた調整が必要な場合は当社が実装します。1時間 ¥8,000〜(税込)。テーマ更新に強い書き方で納品します。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのカスタマイズのサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次