WordPress のテーマ Cocoon の目次機能で TOC+ が動作しなくなったのでその対応

この記事は約2分で読めます。
スポンサーリンク
Cocoon 1.5.9 にて問題点が解消された。

はじめに

 何気なく WordPress のプラグイン TOC+ が生成した目次をクリックしたらリンク先にジャンプしない事に気付いた。
 ソースを確認すると使用しているテーマ Cocoon の目次機能は OFF であるにも関わらず、アンカーとなる id を設定してしまっていた事が分かった。

対処する

 Cocoon の目次処理を行っている関数を追いかけると get_toc_tag という関数内で目次のリンク先となる id を付与している事が分かった。

//目次部分の取得
if ( !function_exists( 'get_toc_tag' ) ):
function get_toc_tag($the_content, &$harray, $is_widget = false){
...

 関数の定義前に定義済みのチェックが入っているので子テーマの functions.php が優先される性質上、先に子テーマ側で空の関数を定義してしまえば問題となる処理を潰せる。

 そんなもんで次のコードを子テーマ側の functions.php に書いておいてあげる。

function get_toc_tag() {
  return;
}

 これで解決。

未だ TOC+ を使う理由

 既に検索エンジンにインデックスされた TOC+ のリンクが無効になっちゃうのもアレだし、Cocoon テーマ側には no_toc という目次を表示しない為のショートコードが無い為。
 Cocoon テーマ側の目次機能で完結するのであればそれに越したことは無いので、その内対応されたら切り替えようというまったり運用としている。

スポンサーリンク

コメント

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