「サイドバーに目次を固定したい。でもウィジェットでうまくいかない…」
そんな悩みを完全に解決する、追従型目次ウィジェットの決定版を紹介します。
🧩なぜこの記事を書いたか
僕自身、スマホのソムリエさんのサイトを参考にしてサイドバーに目次を設置できたんですが、
スクロール追従ができない…という壁にぶつかりました。
テーマの問題?CSS?JavaScript?
色々試行錯誤した結果、ChatGPTと一緒にゼロからコードを構築し、
AFFINGER6環境で安定して動く形に仕上げました。
その結果がこちら👇
🔧実装方法(たった1ステップ)
✅ 手順
①追従目次コードをコピー
- 上記の追従目次コードをコピー(「コピーする」ボタンをクリック!)
②WordPress管理画面 → 外観 → ウィジェット → サイドバー → カスタムHTMLに設置

🎨主な機能とデザイン
機能 | 説明 |
---|---|
📌 追従(sticky) | スクロールしてもサイドバーに固定表示 |
📍 現在地ハイライト | 表示中の見出しを白文字+太字+拡大で強調 |
🧭 内部スクロール | 目次が長くても自動で現在位置までスクロール |
❌ バツボタン | ワンクリックで非表示にできる |
📑 再表示ボタン | 再表示もワンクリックでOK |
💻 PCのみ表示 | モバイルでは非表示なので邪魔にならない |
✅チェックポイント
- ☑ PC(横幅1024px以上)で表示されているか
- ☑ スクロールしてもサイドバーに追従しているか
- ☑ 現在地が白文字・太字・10%拡大でハイライトされるか
- ☑ 閉じる/再表示ボタンが正常に動作するか
- ☑ モバイルでは表示されていないか
- ☑ 固定ページの表示挙動が狙い通りか
✅うまくいかない時は?
- 作り込みましたが、動作しない可能性は十分あります
- そんな時は、Chat GPTに聞きましょう!
ChatGPTにお願いするときのコツ
この追従目次カスタマイズは、依頼内容の具体性と必要条件の共有がポイントです。
以下のコツを意識すると、ChatGPTから的確なコードが返ってきやすくなります。
1. 目的を明確に伝える
- 例:「AFFINGER+RTOCで、サイドバーに貼り付く目次を作りたい」
- 「PCだけで表示」「スマホでは非表示」「現在地ハイライト」など必須条件を先に列挙する
2. 完成イメージや参考リンクを出す
- デザイン例のURLやスクリーンショットを渡すと色や形の再現精度が上がる
- 「このサイトの目次みたいにしたい」と伝えるのが有効
3. 色や雰囲気を具体的に指定
- 「ブログのキーカラーは#0d47a1」「濃くて明るい紺寄り」など色コードを提示
- 「角丸」「シャドウ」「枠線の有無」などUI要素も具体化
僕がこの目次を作った時は、最初のベースをスマホのソムリエさんのサイトで骨格を決めた上で、
ブログのテイストに合わせて欲しいと指示を出しました。
4. 実装環境を伝える
- テーマ(AFFINGERなど)と目次プラグイン(RTOCなど)を明記
- 「ウィジェット内だけで完結したい」など制約も重要
指示を出さないと、CSSに入れたりカスタムHTMLに入れたりと別々になり、後々戻すのが大変なので、
一元管理できる方が断然楽です。
5. 操作や挙動の条件を伝える
- 「バツボタンで閉じる/📑で再表示」「長文時は自動スクロール」など機能を事前に全部挙げる
- 固定ページでの表示/非表示ポリシーも明記
最後の調整段階で指示を出すので問題ないです。
6. 試してみた結果をフィードバック
- 「右端が切れる」「色が見づらい」など実際の画面キャプチャと一緒にフィードバックすると修正が早い
- うまくいかない部分はスクショ+説明が最強
ここが一番長く、紆余曲折があります。粘り強くChatGPTと渡り合ってください。
🗣まとめ:初心者でも“貼るだけ”で実現できる
AFFINGERやRTOCの設定に悩まされることなく、
「目次を追従させたい」という初心者の願いを、コード1つで叶えるのがこの方法です。
気になる方は、ぜひ自サイトに導入してみてください!