はじめに
実装手順
以下のコードをfunctions.phpに追加します。
例えば、投稿ID=123のページを、目次に表示する見出しの深さをH2までに制限します。
add_filter('theme_mod_toc_depth', function ($current_mod) {
// 投稿IDごとの目次の深さを配列で定義
$toc_depths = [
123 => 2,
456 => 3,
789 => 4,
];
if (is_single()) {
$post_id = get_the_ID();
if (isset($toc_depths[$post_id])) {
$current_mod = $toc_depths[$post_id];
}
}
return $current_mod;
});
さいごに
今回紹介した方法を使えば、特定の投稿だけ目次の表示階層を柔軟に変更できます。
通常は全ページに一括で設定される目次の深さも、投稿ごとに制御することで、ページの構成や読みやすさに合わせた表示が可能になります。

