如何在Genesis子主题自定义文章类型内容末尾展示关联字段内容
问题原因
你原有代码不生效的核心原因有两个:
- ACF关系型字段设置为返回对象时,获取到的是关联文章的
WP_Post对象数组,直接使用the_field()无法输出可读的列表内容 - 原有代码缺少函数闭合的
},存在语法错误,也会导致功能无法正常运行
修复后的完整代码
将你原有代码替换为以下片段即可:
add_action( 'genesis_after_entry_content', 'completar_lecciones' ); function completar_lecciones() { // 仅在lecciones自定义文章类型详情页触发 if ( is_singular( 'lecciones' ) ) { $related_lessons = get_field( 'lecciones_relacionadas' ); if ( $related_lessons ) { echo '<h3>关联课程</h3>'; echo '<ul class="related-lessons-list">'; foreach ( $related_lessons as $post ) { // 初始化临时post对象,支持调用WordPress内置模板标签 setup_postdata( $post ); ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php } echo '</ul>'; // 重置主查询,避免干扰页面其他内容的查询逻辑 wp_reset_postdata(); } } }
使用说明
- 代码中的「关联课程」文字可自行修改为你需要的标题
- 列表自带
related-lessons-list类名,可自行添加CSS调整样式 - 若需要展示关联文章的缩略图、摘要等内容,在循环内添加对应的WordPress模板标签即可
内容的提问来源于stack exchange,提问作者ChamanExperience
相关产品推荐
相关产品推荐

