サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2022年6月24日 10:50
いつもお世話になっております。
Cocoon2.4.4アップデートにて、下記要望を受けて、見出し内タグの内容が「目次」本体でも有効になるように改善頂いたと認識しております。
私が運営しているサイトでは、Cocoon2.4.4以前から、h2,h3等の見出し構成に、サイト内の他ページへのリンクを<a>タグで設定しておりました。
(従来からかなりのページに見出しリンク設定をしていることから、v2.4.4をそのまま使用しつつ、目次機能を以前のように機能させるには、多数のページの構成を見直す必要があり苦慮しております)
できるだけ、アップデートを承継したスペックを守ってサイト運営を続けたいのですが、その場合、次のような設定は、どのように実現するの現実的でしょうか?
1.見出しh2,h3に<a>タグでリンクを貼って、飛べるようにする
2.上記1.を実現したまま、「目次」本体では、従来通り、同じページ内の所定の見出しまでスクロールできる
例えば、弊方のサイトでいえば、下記URLのページが典型的な例となります。
その他、参照したトピックは下記の通りです。
[解決済] h2、h3にリンクを設定してCocoonの目次機能を設定すると、h2、h3のリンクが効かなくなります。
[解決済] hタグに設定された特定のクラスを目次から除外する
[解決済] 目次をカスタマイズしたい。H2を太字にしてH3以下を左揃えしたい
[解決済] 目次を表示させると、見出しブロック内の文字装飾や改行が無くなる
----------------------------------------------
サイト名:ビジネスハック 戦略・経営・会計
サイトURL: https://management-accounting.biz
ホームURL: https://management-accounting.biz
コンテンツURL:/wp-content
インクルードURL:/wp-includes/
テンプレートURL:/wp-content/themes/cocoon-master
スタイルシートURL:/wp-content/themes/cocoon-child-master
親テーマスタイル:/wp-content/themes/cocoon-master/style.css
子テーマスタイル:/wp-content/themes/cocoon-child-master/style.css
スキン:/wp-content/themes/cocoon-master/skins/silk/style.css
WordPressバージョン:6.0
PHPバージョン:8.0.18
ブラウザ:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
サーバーソフト:Apache
サーバープロトコル:HTTP/1.0
エンコーディング:none
言語:ja,en;q=0.9,en-US;q=0.8
----------------------------------------------
テーマ名:Cocoon
バージョン:2.4.5.4
カテゴリ数:15
タグ数:7
ユーザー数:1
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:1.1.1
style.cssサイズ:717バイト
functions.phpサイズ:203バイト
----------------------------------------------
Gutenberg:1
AMP:1
PWA:0
Font Awesome:5
Auto Post Thumbnail:0
Retina:1
ホームイメージ:/wp-content/uploads/2020/05/ff5c235429aec6df5b72eb12cfa477a9.jpg
----------------------------------------------
ブラウザキャッシュ有効化:1
HTML縮小化:0
CSS縮小化:0
JavaScript縮小化:0
Lazy Load:1
WEBフォントLazy Load:1
----------------------------------------------
利用中のプラグイン:
Advanced Editor Tools (previously TinyMCE Advanced) 5.6.0
Akismet Anti-Spam 4.2.4
Aurora Heatmap 1.5.4
Category Order and Taxonomy Terms Order 1.6.1
Cocoon Color Palette 1.0.1
Code Snippets 3.1.1
ConoHa WING コントロールパネルプラグイン 1.0
ConoHa WING 自動キャッシュクリア 1.0.0
Contact Form 7 5.6
Edit Author Slug 1.8.4
Embed Any Document 2.7.1
EWWW Image Optimizer 6.6.0
Google XML Sitemaps 4.1.5
Jetpack 11.0
MathJax-LaTeX 1.3.11
Regenerate Thumbnails 3.1.5
SiteGuard WP Plugin 1.6.1
Wordfence Security 7.5.11
WP-Optimize - Clean, Compress, Cache 3.2.6
WP Multibyte Patch 2.9
----------------------------------------------
2022年6月24日 11:59
[Cocoon設定]→[目次]→H見出し内のタグを有効にする
この時、見出しタグ中のaタグは除外する必要があるかと。
●現象
見出しにaタグを用いると、目次のリンクが入れ子になってしまいます。
本文の見出しHTML例、<h2><a href=a>見出し</a><h2>
目次のHTML例、<a href=#toc2><a href=a>見出し</a></a>
Chromeのデバッカーで見ると、以下のように目次のアンカーリンクが無効になっています。
<a href=#toc2></a>
<a href=a>見出し</a>
わいひら reacted
2022年6月24日 17:47
BizHさん
もし、自分で対処するとしたら、ですが。
あちらを立てればこちらが立たず、ということもあるかもしれませんので、2通りの方法を書いてみます。
(私には、なかなか良い方法が思いつかず・・・本当は$htmlから取り除きたかったですが、上手くマッチせず・・・?、稚拙な方法かもしれないです。)
①以前と同様に、見出しのHTMLを目次には反映させない場合
以下の範囲を、子テーマのfunctions.phpへコピーする
https://github.com/yhira/cocoon/blob/922e9f3666eaabaf8d3999f3a55ff712d2cb1771/lib/toc.php#L35-L180
そして、以下の部分を削除する
https://github.com/yhira/cocoon/blob/922e9f3666eaabaf8d3999f3a55ff712d2cb1771/lib/toc.php#L127-L129
②見出しのaタグを取り除いて、目次に反映させる場合
以下の範囲を、子テーマのfunctions.phpへコピーする
https://github.com/yhira/cocoon/blob/922e9f3666eaabaf8d3999f3a55ff712d2cb1771/lib/toc.php#L35-L180
以下の間(128~129行目の間)に、
https://github.com/yhira/cocoon/blob/922e9f3666eaabaf8d3999f3a55ff712d2cb1771/lib/toc.php#L128-L129
以下を追加する
$text = preg_replace('/<a.*?>(.*?)<\/a>/', "$1", $text);
という感じではいかがでしょうか。
上記で上手くいけば良いですが。
わいひら reacted
2022年6月24日 19:38
mk2さんの②案をそのまま使わせていただいて、修正してみました。
以下のファイルでアップデートして試してみるとどうなりますでしょうか。
------------------------------------------------
https://github.com/yhira/cocoon
開発中の最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。
WordPressでの手動アップデート方法はこちら
https://wp-cocoon.com/manual-update-of-cocoon-theme/
------------------------------------------------
2022年6月24日 20:03
ご対応いただき、ありがとうございます。
私の環境では、目次からaタグが取り除かれて、上手くいっているようです。
BizHさんもご確認お願い致します。
おそらくBizHさんの環境の方が、複雑な見出しが設定されていますので。
わいひら reacted
Topic starter
2022年6月25日 09:38
追伸
ちなみに、目次の装飾を楽しませて頂いておりますページの代表例は下記のとおりです。
見る方によっては、いささかビジーかと存じますが、私にとっては大満足の仕様のひとつになりました。
ブログ更新のモチベーションが上がります。
m(_ _)m
わいひら reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。