如何通过WP All Export函数编辑器导出ACF图片字段URL至XML
ACF数组型图片字段WP All Export导出URL解决方案
步骤1:添加自定义导出函数
进入对应WP All Export导出任务的编辑页,找到函数编辑器模块,粘贴如下代码后保存:
function get_acf_array_image_urls( $post_id, $field_name, $size = 'full' ) { $image_array = get_field( $field_name, $post_id ); if ( empty( $image_array ) || !is_array( $image_array ) ) { return ''; } $urls = []; foreach ( $image_array as $img ) { // 兼容ACF图片返回格式为ID/数组两种配置 if ( is_numeric( $img ) ) { $url = wp_get_attachment_image_url( $img, $size ); } elseif ( is_array( $img ) && isset( $img['sizes'][$size] ) ) { $url = $img['sizes'][$size]; } elseif ( is_array( $img ) && isset( $img['url'] ) ) { $url = $img['url']; } if ( !empty( $url ) ) { $urls[] = $url; } } // 需生成单独XML子节点请删除下行,改为 return $urls; return implode( ',', $urls ); }
步骤2:配置导出字段调用函数
回到导出字段设置界面,找到你要存放图片URL的XML节点:
- 节点值选择「PHP函数返回值」,调用格式为
[get_acf_array_image_urls({ID}, "替换为你的ACF图片字段名")] - 如需导出指定尺寸的图片,传入第三个参数即可,例:
[get_acf_array_image_urls({ID}, "替换为你的ACF图片字段名", "thumbnail")]
补充说明
如果你需要让每个图片URL生成单独的XML子节点,只需将函数末尾的return implode(',', $urls);改为return $urls;,然后在导出字段设置中开启对应字段的「重复项」配置,WP All Export会自动拆分生成多个子节点。
内容的提问来源于stack exchange,提问作者Mimzik
相关产品推荐
相关产品推荐

