在博客的首页或者其他列表页,一般来说 H1 标签是博客的标题,H2 是日志的标题,而到了日志的页面,则日志的标题应该是给予 H1 标签,这个无论从语义上说还是 SEO 上说都是最好的,那么日志的内容怎么给设置子标题的 heading 标签呢?
按照语义,在日志页面,H1 是日志的标题,那么日志的第一级子标题是 H2,然后是 H3,这样的话,到了首页和列表页,如果还是显示全文,那么就可能出现博客子标题和博客标题的 Heading 标签都是 H2,这个显然不符合语义,对 SEO 也是没有帮助,所以我们需要在首页或者列表页对日志内容中 Heading 标签就行降级,下面是具体的代码,添加到主题的 functions.php
即可:
add_filter( 'the_content', 'wp_dynamic_headings' );
function wp_dynamic_headings( $content ) {
if(is_singular()){
return $content;
}
$content = str_replace( array( '<h5', '</h5>' ), array( '<h6', '</h6>' ), $content );
$content = str_replace( array( '<h4', '</h4>' ), array( '<h5', '</h5>' ), $content );
$content = str_replace( array( '<h3', '</h3>' ), array( '<h4', '</h4>' ), $content );
$content = str_replace( array( '<h2', '</h2>' ), array( '<h3', '</h3>' ), $content );
$content = str_replace( array( '<h1', '</h1>' ), array( '<h2', '</h2>' ), $content );
return $content;
}