如何在ACF Post Object中输出摘要与阅读更多按钮
解决ACF Post Object区块不显示新闻摘要的问题
先修复代码基础语法错误
你的代码里存在明显语法问题:<pclass="excerpt" 缺少空格,应改为 <p class="excerpt",这个错误会导致浏览器无法识别class属性,可能直接让摘要元素渲染异常或被样式隐藏。
修正摘要输出的函数用法
你使用了 esc_html_e($select_news->post_excerpt),但这个函数是用于翻译并输出转义文本的,而文章摘要是用户手动输入的内容,不需要翻译逻辑,应该改用 echo esc_html($select_news->post_excerpt) 来输出转义后的摘要内容。
添加“阅读更多”按钮代码
你提到后台已设置“阅读更多”,但当前代码未包含相关输出,需要添加指向新闻详情页的链接按钮,用 get_permalink($select_news->ID) 获取文章的详情页地址。
修正后的完整代码
<div class="news"> <div class="news-title"> <span><?php _e('News Feature', 'bluegfx'); ?></span> <p><?php echo esc_html($select_news->post_title); ?></p> <p class="excerpt"><?php echo esc_html($select_news->post_excerpt); ?></p> <!-- 新增阅读更多按钮 --> <a href="<?php echo esc_url(get_permalink($select_news->ID)); ?>" class="read-more-btn"> <?php _e('阅读更多', 'bluegfx'); ?> </a> </div> <div class="news-img"> <?php echo get_the_post_thumbnail($select_news->ID, 'full'); // 可指定图片尺寸,比如'full'或自定义尺寸 ?> </div> </div>
额外排查点
- 确认ACF字段设置:检查Post Object字段的返回类型是否为Post Object,如果返回的是Post ID,需要先通过
$select_news = get_post($select_news)转换为对象后再调用属性。 - 验证文章摘要内容:进入对应新闻文章的后台,确认“摘要”输入框内确实填写了内容,而非空值。
- 检查CSS样式:打开浏览器开发者工具,查看
.excerpt元素是否被CSS的display: none或其他样式规则隐藏。
内容的提问来源于stack exchange,提问作者yanksi_
相关产品推荐
相关产品推荐

