WordPressでサイトを作り、記事に目次を表示するプラグイン「Table of Contents Plus(通称TOC+)」を入れた際、なぜかモバイル版のみ目次が2つ出てくるという症状の原因と対処法です。
原因はプラグイン、対処法はショートコードでした。
モバイルビュー生成プラグイン「WPtouch」で発生
このようにスマホで投稿を表示すると目次が2つ出現します。
この原因はWPtouchにあるようでした。
簡単にイメージすると、WPtouchを使っている環境の場合、「本来出力されるはずのWordPressテーマを使ったモバイルビュー」と「WPtouchが生成したモバイルビュー」の2種類があるはずです。
実際に表示する際、「WPtouchが生成したモバイルビュー」が本来のWPテーマを使ったモバイルビューを置き換えるかたちを取り、結果としてスマホでサイトを開いた時はWPtouchのビューが表示されます。
で、なぜかこの時「TOC+」は両方に反応し、2つぶんの目次を生成する……のではないかなと勝手に予想しています。
WPtouchで「ショートコード」の処理を停止
WPtouchの設定画面に入り、デスクトップテーマのショートコードを処理項目をOFFにします。
表示が正常に戻りました。
ショートコードのフィルタは効かない?
デスクトップテーマのショートコードを処理項目をOFFにすると、当然ながらショートコードが全て読み込まれなくなります。
自作のショートコードを使っている場合は都合が悪いので、なんとかフィルタを使いたいのですが…、
この部分の下側、ショートコードをフィルタリングする項目も使ってみたのですが、目次を消すことができません。
フィルタに [TOC] もしくは TOC と入れてみてダメでした。
もし対応できるフィルタ名をご存知の方がいましたら情報をいただけると嬉しいです。
コメント