SWELLでは、記事ごとに目次の抽出対象を変更できます。SWELL 2.19.0には投稿ごとの「目次抽出対象」があるため、1記事を変更するだけならコードを追加する前に標準設定を確認してください。
標準の目次抽出対象を使う
記事の編集画面で「SWELL Settings」を開き、「目次抽出対象」からH2〜H5の上限を選んで保存します。
「H3まで表示」はH2とH3が対象で、H3だけを抽出する指定ではありません。
欄が見つからない場合は右側の設定パネルを確認してください。
目次そのものが非表示なら、記事別の「目次」と全体の表示条件も確認します。見出しが少ない場合や独自HTMLの見出し構造によっては、抽出対象を変えても期待する目次にならないことがあります。
コードで特定IDを管理する場合
複数人で編集するサイトなどでコード側に条件を置く場合の例です。子テーマfunctions.phpのPHP内へ追加し、167を対象記事IDに変更します。
add_filter( 'swell_toc_target', 'waza_toc_target', 999 );
function waza_toc_target( $target ) {
if ( is_singular( array( 'post', 'page' ) ) && 167 === get_queried_object_id() ) {
return 'h3';
}
return $target;
}メインページのIDをget_queried_object_idで判定するため、別ループでglobal $postが切り替わっても対象判定が変わりません。投稿と固定ページだけが対象で、アーカイブには適用しません。優先度999で指定するため、対象記事の標準設定よりコードが優先されます。
投稿別設定とフィルターが重なるとき
| 操作 | 保存値 | 公開側の目次 |
|---|---|---|
| 「H4まで表示」を保存 | h4を再読み込み後も保持 | フィルターがなければH2・H3・H4 |
| 掲載フィルターで対象IDをH3までに指定 | 投稿別設定はh4のまま | H2・H3のみ |
| 追加フィルターを外す | 投稿別設定はh4のまま | H2・H3・H4へ戻る |
投稿別設定を変えても目次の階層が変わらない場合は、同じ記事IDを指定するフィルターを確認してください。
H3の目次リンクはPCと375px幅でEnterキーによる見出しへの移動を確認しました。

確認と戻し方
対象記事にH2・H3・H4を用意し、H2とH3が目次に入りH4が入らないことを公開画面で確認します。対象外の記事の目次も確認してください。PC・スマホで目次リンクをクリックし、TabとEnterでも目的の見出しへ移動できるか確認します。
標準設定へ戻す場合はフィルター登録と関数を外してキャッシュを更新し、記事別の目次抽出対象を再確認します。全体設定に従わせる場合は記事別の上書きも解除します。
2026年10月2日、隔離環境のWordPress 7.1.2・SWELL 2.19.0で投稿別設定の保存・再読み込みと公開側の目次を確認しました。
別のテーマやバージョン、目次を置換するプラグインとの組み合わせは確認していません。



