Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

Cocoon2.4.4 目次の見出しテ...
 
共有:
通知
すべてクリア

[解決済] Cocoon2.4.4 目次の見出しテキストを「H見出し内のタグを有効にする」と同期について

9 投稿
4 ユーザー
8 Reactions
1,372 表示
 BizH
(@bizh)
Estimable Member Registered
結合: 4年前
投稿: 122
Topic starter  

いつもお世話になっております。

Cocoon2.4.4アップデートにて、下記要望を受けて、見出し内タグの内容が「目次」本体でも有効になるように改善頂いたと認識しております。

[解決済] 目次機能について

私が運営しているサイトでは、Cocoon2.4.4以前から、h2,h3等の見出し構成に、サイト内の他ページへのリンクを<a>タグで設定しておりました。

(従来からかなりのページに見出しリンク設定をしていることから、v2.4.4をそのまま使用しつつ、目次機能を以前のように機能させるには、多数のページの構成を見直す必要があり苦慮しております)

できるだけ、アップデートを承継したスペックを守ってサイト運営を続けたいのですが、その場合、次のような設定は、どのように実現するの現実的でしょうか?

1.見出しh2,h3に<a>タグでリンクを貼って、飛べるようにする

2.上記1.を実現したまま、「目次」本体では、従来通り、同じページ内の所定の見出しまでスクロールできる

例えば、弊方のサイトでいえば、下記URLのページが典型的な例となります。

原価管理 Cost Management

その他、参照したトピックは下記の通りです。

[解決済] 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
----------------------------------------------


   
chu-ya
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 2945
 

[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
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 7950
 

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
chu-ya
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 2945
 

邪道ですが。

●JavaScript

$(function() {

  //目次を検索
  $('.toc li').each(function() {

    //見出し(目次リストの2番目のaタグ)にaタグあり
    var text = $(this).find('a').eq(1).text();

    if(text != "") {
      //見出しのテキストを本来の目次のaタグに追加
      $(this).find('a').eq(0).text(text);

      //目次リストの余分なaタグを削除
      $(this).find('a').eq(1).remove();
    }
  })
});
 

   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17220
 

mk2さんの②案をそのまま使わせていただいて、修正してみました。
以下のファイルでアップデートして試してみるとどうなりますでしょうか。
------------------------------------------------
https://github.com/yhira/cocoon
開発中の最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。

WordPressでの手動アップデート方法はこちら
https://wp-cocoon.com/manual-update-of-cocoon-theme/
------------------------------------------------


   
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 7950
 

ご対応いただき、ありがとうございます。

私の環境では、目次からaタグが取り除かれて、上手くいっているようです。

 

BizHさんもご確認お願い致します。

おそらくBizHさんの環境の方が、複雑な見出しが設定されていますので。


   
わいひら reacted
 BizH
(@bizh)
Estimable Member Registered
結合: 4年前
投稿: 122
Topic starter  

わいひら様 chu-ya様 mk2様

いつもありがとうございます。

そして、今回の目次と<a>タグの仕様フィッティングも、皆様のおかげで従前の動きに戻すことができました。

さらに、「目次」本体に<a>タグ以外の装飾を施したものも表現できるようになりました。

私にとっては、あちらをたてて、こちらもたててもらって大万歳です。

どうもありがとうございました。


   
 BizH
(@bizh)
Estimable Member Registered
結合: 4年前
投稿: 122
Topic starter  

追伸

ちなみに、目次の装飾を楽しませて頂いておりますページの代表例は下記のとおりです。

国家の興亡史【南アジア】- さかのぼり年表

見る方によっては、いささかビジーかと存じますが、私にとっては大満足の仕様のひとつになりました。

ブログ更新のモチベーションが上がります。

m(_ _)m


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17220
 

mk2さん、BizHさん、ご確認いただきありがとうございます!
mk2さんもまた、解決策もありがとうございました!


   
mk2 reacted
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

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