[WP]the_contentにfilterでH2に自動でidを追加して内部リンク出来るようにする。

JSで目次を作るに似てますが、本文(the_content)にadd_filterすることで、H2に直接IDを追加します。

プラクティス・デモ

add_filter('the_content','add_attr_id');
function add_attr_id($text){
  if (strpos($text, '<h2>') !== false) {
    $pattern = '/(<h2>)/i';
    $arr     = preg_split($pattern, $text, 0, PREG_SPLIT_DELIM_CAPTURE);
    $i       = 0;
    $content = '';
    foreach ($arr as $key => $value) {
      if (strpos($value, '<h2>') !== false) {
        $i++;
        $value = preg_replace('/<h2>/i', '<h2 id="index' . $i . '">', $value);
      }
      $content[] = $value;
    }
    $text = implode('', $content);
  }
  return $text;
}
ソースコード装飾ならGoogle code prettify
中の人 に更新 742文字 255view
※この記事は2年前の記事です。内容が古い可能性があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください