特定の投稿だけ目次の表示の深さを変更する方法

Cocoonカスタマイズ集
この記事は約2分で読めます。
記事内に広告が含まれています。

実装手順

以下のコードを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;
});

さいごに

今回紹介した方法を使えば、特定の投稿だけ目次の表示階層を柔軟に変更できます。
通常は全ページに一括で設定される目次の深さも、投稿ごとに制御することで、ページの構成や読みやすさに合わせた表示が可能になります。

タイトルとURLをコピーしました