如何在WordPress单篇文章的H1标题下方显示摘要?
在WordPress单篇文章H1标题下方显示摘要的解决方案
针对你尝试Astra、Suki和Twenty Twenty-One主题均无法实现单篇文章H1下显示摘要的问题,以下是几种可行的解决方法:
方法一:修改主题模板文件(适合有基础代码能力的用户)
- 找到当前主题的文章模板文件,通常是
single.php或content-single.php(不同主题路径不同,比如Astra在templates/single.php,Twenty Twenty-One直接是根目录下的single.php)。 - 在H1标题对应的代码块之后,插入以下代码:
<?php // 仅当文章有自定义摘要时显示 if ( has_excerpt() ) : ?> <div class="single-excerpt"> <?php the_excerpt(); ?> </div> <?php endif; ?>
- 如果你想强制显示自动生成的摘要(即使没设置自定义摘要),可以替换为:
<div class="single-excerpt"> <?php echo wp_trim_words( get_the_content(), 55, '...' ); ?> </div>
- 注意:一定要使用子主题修改,避免主题更新时丢失修改内容。
方法二:使用代码片段插件(无需修改主题文件,新手友好)
- 安装并激活
Code Snippets插件(WordPress官方插件库可直接搜索安装)。 - 新建一个代码片段,粘贴以下代码:
add_action( 'wp_after_post_title', 'show_single_post_excerpt' ); function show_single_post_excerpt() { // 仅在单篇文章页执行 if ( is_single() && ! is_home() ) { $excerpt_container = '<div class="single-post-excerpt">%s</div>'; if ( has_excerpt() ) { printf( $excerpt_container, get_the_excerpt() ); } else { // 自动生成摘要,55为截取字数,可自行调整 $auto_excerpt = wp_trim_words( get_the_content(), 55, '...' ); printf( $excerpt_container, $auto_excerpt ); } } }
- 激活该片段后,你可以通过自定义CSS调整摘要样式,比如在主题自定义izer的“额外CSS”中添加:
.single-post-excerpt { margin: 1.5rem 0; color: #666; font-size: 1.1em; line-height: 1.6; }
关键提示
- 优先使用自定义摘要:编辑文章时,在右侧“文档”面板中找到“摘要”选项(若未显示,点击右上角的「选项」按钮,勾选「摘要」),手动输入的摘要格式更可控,不会出现内容截断问题。
- 自动生成的摘要会截取文章内容,可能会截断HTML标签或短代码,建议仅在未设置自定义摘要时使用。
内容的提问来源于stack exchange,提问作者Migueltron
相关产品推荐
相关产品推荐

