サイト内検索
Cocoonフォーラム

書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
トピックスターター 2025年9月9日 02:07
----------------------------------------------
テーマ名:Cocoon
バージョン:2.8.7.2
カテゴリー数:18
タグ数:124
ユーザー数:1
----------------------------------------------
●関連投稿
https://wp-cocoon.com/community/postid/36734/
●参考
XWRITEは全て表示、分割表示切り替えで可能なようです。
https://xwrite.jp/man_custom_setting_index/
●変更前
以下のように投稿を分割ページとした。
このとき、目次は各分割ページ単位でしか表示されいない。
<!-- wp:heading --> <h2 class="wp-block-heading">1</h2> <!-- /wp:heading --> <!-- wp:heading {"level":3} --> <h3 class="wp-block-heading">1-1</h3> <!-- /wp:heading --> <!-- wp:heading {"level":4} --> <h4 class="wp-block-heading">1-1-1</h4> <!-- /wp:heading --> <!-- wp:nextpage --> <!--nextpage--> <!-- /wp:nextpage --> <!-- wp:heading --> <h2 class="wp-block-heading">2</h2> <!-- /wp:heading --> <!-- wp:heading {"level":3} --> <h3 class="wp-block-heading">2-1</h3> <!-- /wp:heading --> <!-- wp:nextpage --> <!--nextpage--> <!-- /wp:nextpage --> <!-- wp:heading --> <h2 class="wp-block-heading">3</h2> <!-- /wp:heading -->
●変更後
Cocoon設定→[目次]のオプションで分割ページ単位の目次か、全目次か切り替えを可能とする。
分割ページでも全目次を表示する。
このとき、目次の各章をクリックすると、各分割ページにジャンプする。
●コード
既存のlib\toc.phpの関数get_toc_tagを変更します。
- $expanded_contentは分割ページ単位なので、全文を取得させます。
- 取得した全文から目次を既存と同じように組み立てます。
- そのとき、各章のリンクを、分割ページの章に変更とします。
元のコードと添付したコードの差分を見て頂けると変更点が分かります。
※添付コードは設定ページの代わりに、$mode=false、trueかで切り替わるようになっています。
https://notepad.pw/share/YNlwWYk2D9oCWS6mb7zZ
わいひら reacted
トピックスターター 2025年9月9日 12:26
●追記
見出しの切り出し部分ですが、CocoonはH1も対象ですが、見直したらコードはH2からでした。
検証はしていないので、その点は確認願います。
わいひら reacted
トピックスターター 2025年9月9日 13:11
●修正
母体の関数get_toc_tagに合わせ、細かい修正をしました。
- H1も対象
- 分割ページ時の配列headersを元コードに合わせ、HTMLタグ付きのみとする
https://notepad.pw/share/a3Qboyvyp8JgGp1aJQgF
わいひら reacted
2025年9月9日 19:49
ご提案に加えてコードまでいただきありがとうございます。
早速コードの方を確認させていただきます。
2025年9月10日 01:39
母体の関数get_toc_tagに合わせ、細かい修正をしました。
- H1も対象
- 分割ページ時の配列headersを元コードに合わせ、HTMLタグ付きのみとする
こちらのコードをget_toc_tagと置き換えて試してみました。
https://github.com/xserver-inc/cocoon/commit/093d6b9f78fa61da052eb16a198831c9e3b94062
chu-yaさんの環境では、例えば当トピック冒頭の投稿ソースコードで試したとして、目次のリンク先は2-1(添付画像)は#toc5、となっているけど実際2ページ目に跳んで2-1の見出し内のspanのidはid="toc5"になっていますでしょうか。
僕の環境では、id="toc2"になっていたようでページは移動するものの見出しにまでは跳ばない状態でした。
もし僕のコードの置き換え方が間違っていて、僕の環境だけおかしな状態だったとしたら申し訳ないです。
一応、ページ遷移先で見出しに跳ぶように修正しておきました。
https://github.com/xserver-inc/cocoon/commit/a054806b9610d490946114f23a7fe6cfe10dbb11
あと現在見ているページでもページ遷移しているようだったので、現在見ているページはページ遷移しないように修正しておきました。
https://github.com/xserver-inc/cocoon/commit/15f880e84d9fdbb4925255a2e210285aedc87cc8
まだ簡単な動作確認しかしていないのですが、もう遅いので、一旦寝て明日もう一度動作確認してみます。不具合があったらすいません。
トピックスターター 2025年9月10日 03:21
----------------------------------------------
テーマ名:Cocoon
バージョン:2.8.8
カテゴリー数:18
タグ数:124
ユーザー数:1
----------------------------------------------
A
僕の環境では、id="toc2"になっていたようでページは移動するものの見出しにまでは跳ばない状態でした。
もし僕のコードの置き換え方が間違っていて、僕の環境だけおかしな状態だったとしたら申し訳ないです。
私も同じでした。申し訳なく。
言われる通り、目次は全ページの通し番ですが、肝心な見出しはページ毎の通し番となってました。
A
あと現在見ているページでもページ遷移しているようだったので、現在見ているページはページ遷移しないように修正しておきました。
そうですね、私の作りだとページロードしてしまいますね。
「目次」ウィジェットも動作確認したら問題ないようです。
本件をクローズとします。
わいひら reacted
2025年9月10日 19:27
ご確認いただきありがとうございます。
頂いたコードのおかげで、マルチページ目次機能を追加することができました。感謝申し上げます!
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。