You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:06:04