ワードプレスで「nextpage」を使って記事を分割した際に目次を分割したくない – WordPressプラグイン「Easy Table of Contents」

Wordpress目次プラグイン その他

WordPressで一つの記事の文字数が多くなった場合、分割したくなることがあります。

この場合、プラグインを使って分割する方法もありますが、もっと簡単なWordpress標準の機能として、記事のコードエディターの分割したい位置に以下のコードを挿入する方法があります。

<!--nextpage-->

このコードを挿入するだけで、その位置でページが分割され、「次へ」や「戻る」といったボタンやページ番号に応じた移動ボタンまで表示してくれます。

しかし、この方法では、このブログで使っているテーマ「Cocoon」の目次生成機能を使った時に、目次にすべての見出しが表示されなくなり、当該ページにある見出しのみが表示されるようになります。

個人の好みもあるかと思いますが、私はやはり目次は全てのページで記事内のすべての見出しを出してほしいと思いました。

目次が分割される例

まずはじめに、状況を説明します。以下はページ分割を行わない状態で表示される目次です。10項目ありますね。

すべての見出し
すべての見出し

次に、分割するためのタグを埋め込んで分割した後の目次です。左が1ページ目、右が2ページ目です。それぞれのページにある見出しだけが表示されています。

1ページ目の目次
1ページ目に表示された目次
2ページ目に表示された目次

これでも目次として悪くはないのですが、できれば全てのページに記事内のすべての見出しを出すようにしたいのです。

プラグイン改造は面倒だ。。

調べてみたのですが、現時点でこの課題を解決する定番と言える方法はないようでした。「Table of Contents Plus」というプラグインを導入して改造したり、あるいは別のプラグインを複数導入して組み合わせるなど、メンテが面倒そうだなあ。。という印象をものぐさな私は持った次第です。

実際に、他のブログなどで紹介されているプラグインをいくつか試してみたのですが、更新されてから長い年月が経っているものも多く、動作しなかったり、画面上に「このバージョンのPHPには対応していない関数が使われています」というPHPのエラーが表示されてしまうプラグインもありました。

Easy Table of Contents

そこで、なんの気なしにWordpressのプラグイン検索画面で「Table of Contents」というワードで検索してみたところ、「Easy Table of Contents」というプラグインが見つかりました。最終更新日も半年前なのでバージョンも問題なさそうです。

Easy Table of Contentsのインストール

Easy Table of Contentsのインストールは簡単です。Wordpressの管理画面のプラグインの追加画面で「Easy Table of Contents」で検索すると見つかるので、インストールします。

Easy Table of Contents

インストールが完了したら、有効化します。有効化すると「設定」→「目次」が追加されています。クリックするとEasy Table of Contentsの管理画面を表示できます。

私はまだ使い込んではいませんが、かなり細かい設定が可能なようです。とりあえず「サポートを有効化」→「投稿」と「自動挿入」→「投稿」の2つにチェックを入れないと目次は自動で表示されなかったので、双方にチェックしてから変更を保存します。

結果

結果、以下のように私が求めていた目次を表示してくれました。以下の目次が全ての分割されたページに表示されるようになります。ちゃんと分割されたそれぞれの別ページへのリンクとしても機能します。

他の目次プラグインを使っている場合は無効にすること

私の場合はこれまで、目次はCocoonというテーマの目次機能を使っていたのですが、この機能を有効にしたままだと「Easy Table of Contents」の目次は表示されませんでした。こうしたことは他の目次プラグインでもありうるかと思うのでご注意ください。

おわりに

今回の記事ではWordpressの「Easy Table of Contents」を紹介しました。

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