本記事の画像はすべてWordpressプラグイン「Easy Table of Contents」からの引用です。
WordPressの目次プラグインとして定番の「Easy Table of Contents」。
基本的にはインストールするだけで使えますが、「ショートコードで手動挿入したい場合」や「既存テーマとの相性」で設定を変更しないと、正しく動作しないことがあります。
備忘録として、設定時の注意点を2つ共有します。
1. ショートコードを使用する場合
記事の文頭に自動挿入するのではなく、 ショートコードを使用して好きな場所に目次を表示させたい場合の設定です。
■設定項目
設定画面(Settings)内の Advanced(高度な設定) 付近にある以下の項目を確認してください。
- Generate TOC link ids

ここには必ずチェックを入れる必要があります。
■理由
「Auto Insert(自動挿入)」がオンの場合は、プラグイン側がヘッダータグ(h2, h3など)に自動的にID(アンカーリンク用)を割り振ってくれます。 しかし、自動挿入をオフにしてショートコードで実装する場合、デフォルトでは各見出しにIDが割り振られません。
その結果、目次は表示されるものの「クリックしてもその場所にジャンプしない」という現象が起きます。このチェックを入れることで、ショートコード使用時でもIDが強制的に生成されるようになります。
2. サイトの挙動がおかしい場合(スムーススクロール)
目次のリンクをクリックした際、スクロールの挙動がガクガクしたり、変な位置で止まったりする場合の設定です。
■設定項目
設定画面内の Appearance(外観) 付近にある以下の項目を確認してください。
- スクロールを滑らかにする (Smooth Scroll)

このチェックは外します(オフにする)。
■理由
最近のWordPressテーマや、jQueryなどで既にサイト全体に「スムーススクロール」を実装している場合、プラグイン側のスムーススクロール機能と競合してしまいます。
競合すると、「二重にスクロール処理が走って画面が揺れる」「スクロール位置がズレる」といったバグの原因になります。 自サイトですでに滑らかなスクロールが効いている場合は、プラグイン側の機能をオフにしておきましょう。
まとめ
- ショートコード派は 「Generate TOC link ids」をON
- 自前でスムーススクロールしてる人は 「Smooth Scroll」をOFF
設定項目が多くて見落としがちですが、挙動がおかしい時はまずここを確認してみてください