如何使用ACF Extended PRO在WordPress文章中显示多文件?
问题解决:ACF多文件字段无法显示文件
当你为ACF File字段启用「Allow multiple files」选项后,get_field('documents')返回的是包含多个文件对象的数组,而非单个文件对象。你原来的代码只处理单个文件的逻辑,因此无法遍历显示所有附加文件。
修改后的代码如下,通过遍历数组来输出每个文件:
<?php $files = get_field('documents'); if( $files ): ?> <?php foreach( $files as $file ): ?> <?php // 提取文件变量 $url = $file['url']; $title = $file['title']; $caption = $file['caption']; $icon = $file['icon']; // 图片文件显示缩略图,非图片使用默认图标 if( $file['type'] == 'image' ) { $icon = $file['sizes']['thumbnail']; } ?> <?php // 包裹标题容器 ?> <?php if( $caption ): ?> <div class="wp-caption"> <?php endif; ?> <a href="<?php echo esc_attr($url); ?>" title="<?php echo esc_attr($title); ?>"> <img src="<?php echo esc_attr($icon); ?>" alt="<?php echo esc_attr($title); ?>" /> <span><?php echo esc_html($title); ?></span> </a> <?php // 输出标题文本 ?> <?php if( $caption ): ?> <p class="wp-caption-text"><?php echo esc_html($caption); ?></p> </div> <?php endif; ?> <?php endforeach; ?> <?php endif; ?>
注意事项
- 确认代码中的字段名称
documents和你在ACF中设置的字段别名完全一致 - 非图片格式(PDF、DOCX等)会自动调用WordPress默认的文件类型图标
- 可以根据需求调整HTML结构和CSS类名,适配你的主题样式
内容的提问来源于stack exchange,提问作者Steve K.
相关产品推荐
相关产品推荐

