WordPressプラグイン「Table of Contents Plus」のカスタマイズ。
2020年03月03日 03時03分 月齢:8.9[九日月] 潮汐:小潮
5年前に投稿 | WordPress | コメントはありません
2分ぐらいで読めます。
いくつか見出しを設定したときに自動的に目次リストを作ってくれるプラグイン「Table of Contents Plus」をたまに使っているのですが、久しぶりに使っているページを見たらCSSがうまく適用されていないことがわかりました。
これといって何もした覚えがなかったのでどうも腑に落ちなくて調べてみると、仕様変更か何かわからないのですが、もともとclass指定だった部分がidになっています。目次の部分のdiv要素が「<div class="toc_container">」ではなく「<div id="toc_container">」で始まっていました。いったい、いつからなんだろ…昔は間違いなくclassだったと思うんだけど。いや自信はないです。
CSSの修正だけで済めば別にどうってことないのですけど、上級者向けの設定で「ホームページを含める」の「ホームページ上の条件を満たす項目の目次を表示」にチェックを入れると、目次付きの記事が複数連なって出てくるわけです。「ひとつのidはページ内で1度しか使えない」ことから、複数の記事が載っているindexページにおいてはidを使われると実によろしくない。
そんなわけで、プラグインをいじって、idではなくclassを吐き出すようにしてやりました。
toc.phpの1524行目、
$html = '<div id="toc_container" class="' . $css_classes . '">';
を
$html = '<div class="toc_container" class="' . $css_classes . '">';
にします。
さらにデフォルトのCSS指定部分(1091、1106、1110、1112、1114、1116、1118行目の計11か所)にある
div#toc_container
を
div.toc_container
にしてやります。
これで同一idが同一ページに複数現れるのを阻止できると思います。最初からclass指定してくれればこんな手間いらないんですけどねー。
古い記事・新しい記事
- 古い記事 [2019年09月29日]
- ← WordPress YouTubeをレスポンシブに対応させる方法。
- 新しい記事 [2020年06月01日]
- → 画像遅延読み込みプラグイン「Lazy Loader」を入れてみた。
他にも「WordPress」カテゴリの記事はいかがですか。
- WordPressのビジュアルエディタ、右に謎の空白ができたので対策した。
- WordPressで日本語の入力ができない。
- WordPressにおける文字表示(置換)のカスタマイズ。
- WordPressでカテゴリ別にページのデザインを変えてみた。
- WordPressでthe_archive_titleの余計な文字列「月別: 」を消して、さらにアーカイブページの「yyyy年m月」を「yyyy年mm月」と月をいつも2桁になるよう変更してみた。
- WordPress YouTubeをレスポンシブに対応させる方法。
- 「Kansai WordPress Meetup@京都」に参加してきた。
- WordPress→IE6でXML宣言
- WordPress2.7.1にアップデート
- ブログ開設、18年。