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にarchive.phpとcategory.phpとsearch.phpを追加した。
- WordBench京都(2018年8月)に参加してみた。
- WordPressにFacebookのいいねボタンをつけてみた。
- WordPress4.2以降の絵文字対応を無効化する。
- WordPressのテーマを小変更。
- WordPress WP-PageNaviプラグインの最適化
- WordPressテーマの配色と初音ミクカラーパレットの関係
- WordPress→wp-rpsが気持ちいい
- WordPress2.9.2にしました。
- WordPressログイン画面(wp-login.php)への不正アクセス対策。