Vicuna のエントリータイトルは、パーマリンクでは <h1> ですが、それ以外のページでは、 <h2> です。だから、エントリー内容の中の見出し要素のレベルをパーマリンクのものにあわせていると、パーマリンク以外のページではずれます。
そこで、パーマリンク以外では、見出し要素のレベルの値をインクリメントさせることにしました。
/**
* エントリー本文中の見出しのレベルを変更します
*/
function convert_entry_heading_level($content) {
if ( is_single() || is_page() ) {
// individualな場合は実行しない
return $content;
}
// hx要素のレベルを1段階あげる(ex. <h2> -> <h3>)
$content = preg_replace_callback(
'/(<\/?h)([1-6])([^>]*>)/',
create_function(
'$matches',
'$level = ( (int)$matches[2] ) + 1;
$level = ( $level > 6 ) ? 6 : $level;
$level = ( $level < 2 ) ? 2 : $level;
return $matches[1]. ( (string)$level ). $matches[3];'
),
$content
);
return $content;
}
add_action('the_content', convert_entry_heading_level, 100);
上のコードを「 wp-vicuna/functions.php 」に追加すれば、エントリー内容の見出しレベルが自動的に変更されるはずです。
このエントリーへのトラックバックスパムがひどいのでこのエントリーへのトラックバックを閉鎖させていただきます。