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

WordPress
この記事は約2分で読めます。
この記事は最終更新日より 1 年以上経過しています。
画像やリンクが無効になっている可能性もあるのでご了承下さい。
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 テーマ側の目次機能で完結するのであればそれに越したことは無いので、その内対応されたら切り替えようというまったり運用としている。

著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 40 代も後半に入ったおじさんです。

ぶっちをフォローする

コメント

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.