A-
A+
如何实现WordPress文章自动截取第一段内容作为H2标签,实现网页规范化?
做WordPress站点SEO优化时,合理规划页面H2层级标签能大幅提升页面可读性与搜索引擎识别度。
很多站长希望不用每次手动编辑,让程序自动提取文章正文第一段文字,自动套上H2标签输出在文章内页。
本文分享无需插件、仅通过functions.php函数实现的完整解决方案,附带代码注释、异常兼容处理与常见报错排查,适配主流WordPress 5.0+全版本主题。
找到你用的模版里的functions.php,修改,在最后面添加下列代码
/**
* 提取文章第一个段落转为 H2 标题
*/
function auto_first_p_to_h2($content) {
// 后台、非单篇文章 直接返回原内容
if (is_admin() || !is_singular('post')) {
return $content;
}
// 匹配第一个 <p> 段落内容
if (preg_match('/<p\b[^>]*>(.*?)<\/p>/is', $content, $matches)) {
$first_p_content = trim($matches[1]);
// 段落不为空才处理
if (!empty($first_p_content)) {
// 生成 H2 标签
$h2 = '<h2 class="first-p-h2">' . $first_p_content . '</h2>';
// 移除原文里第一个 p 标签,再把 H2 插在最前面
$content = preg_replace('/<p\b[^>]*>.*?<\/p>/is', '', $content, 1);
$content = $h2 . $content;
}
}
return $content;
}
add_filter('the_content', 'auto_first_p_to_h2');
这样删除缓存,刷新页面查看是否自动出现H2标签了,如果模版或主题里定义了H2标签的CSS,可以自己适当调整或删除对应CSS就可以了。
