こんにちは
表題の通り、<!–nextpage–>に対応したTOC(Easy Table of Contents)プラグインはないでしょうか。
というのは、具体的にどういうことか教えていただけますか?
わかりにくくてすみません。
Easy Table of Contents やTable of Contents Plusなどは、記事中の見出し(h1~H6)を抽出して目次を生成してくれるプラグインなのですが、<!–nextpage–>でページ分割すると、分割したページの目次だけ作ってくれるだけです。記事の冒頭に記事全体の目次を表示してほしくて、そういうプラグインないかなと探しております。
これでわかりますでしょうか?
このプラグインはどうでしょう。独自の [nextpage]
ショートコードですが。
Multipage Plugin — WordPress Plugins
Table of Contents Plus で無理やりやってみました。
functions.php
add_filter( 'the_content', 'my_custom_toc', 120 );
function my_custom_toc( $content ) {
global $post;
$pages = explode( '<!--nextpage-->', $post->post_content );
$toc = '';
foreach ( $pages as $key => $page ) {
$page_num = $key + 1;
$page_content = toc_get_index( $page );
$index = preg_replace( "!#!", get_permalink( $post->ID ) . '/' . $page_num . '#', $page_content );
$toc .= $index;
}
return $toc . $content;
}
投稿に、TOCを表示する設定にして、既存のTOCは、
style.cssで
#toc_container{
display:none!important;
}
で、非表示にする必要があります。遊びに使ってください。
対応しているプラグインもありそうなので、うまくいけば そちらをぜひ
http://tenman.info/labo/snip/archives/7576
●gblsmさん、情報をありがとうございます。
将来、複数名で使えたらいいなと思っているサイトなのと、後で正規表現などで記事を置き換えるのが面倒だと思って、独自のショートコートを要求するMultipage Plugin の使用をためらっていました。
●nobitaさんコードを書いていただきありがとうございます。
さっそく、私の縦書き小説サイトに書き加えてみました。
http://novel.biyori.net/archives/626/35
ulがないリストになるようですが(階層表示すると小さな見出しにはulができる)、<!–nextpage–>を超えて目次が生成されていますね。すごい。便利です。小説だと全ページに目次があるのは読み進めにくいので、後日、2ページ目以降はCSSで非表示にする策を考えてみます(あるいはボタンを押した時だか目次が表示されるようにアコーディオンをつけるなど)。このフィルター目次はloopの外にも設置できますよね。
作業が一段落したのでクローズさせていただきます。
https://ja.forums.wordpress.org/topic/159090?replies=6#post-228980
でnobitaさんが書いてくださったコードをもとに、リターンで出力するところだけ、下記のように変更して組み込みました。
return '<div class="toc"><ul>'.$toc .'</ul></div>'. $content;
nextページによる頁分割を超えた目次の例
http://novel.biyori.net/archives/593
ありがとうございました。