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にGoogle Sitemapを簡単に作成できるプラグインを入れてみた。
- WordPressにプラグインSimilar Postsを入れてみた。
- WordPressで、記事を更新したときに更新日を表示させる。
- WordPressで記事を保存しようとすると501エラー! の解決法。
- WordPressでランダムに記事を表示させる。
- WordPressプラグイン MoonPhaseの実装。
- WordPress WP-PageNaviプラグインの最適化
- WordPress Popular Postsを再び実装してみた。ウィジェットやショートコードを使わずに。
- 画像遅延読み込みプラグイン「Lazy Loader」を入れてみた。