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

WP ALL Import按XML节点属性筛选图片问题求助

解决WP ALL Import筛选带planimetria=1属性图片并写入自定义字段的问题

我来帮你搞定这个WP ALL Import里的图片筛选问题!你之前调用set_planimetrie(file_allegati[1])没生效,主要问题应该是只传入了单个节点,没遍历所有图片节点,而且函数内部的属性判断逻辑可能也没处理到位。下面是具体的解决方案:

1. 编写正确的PHP处理函数

首先在WP ALL Import的「函数编辑器」里添加这个函数,它会遍历所有图片节点,筛选出带planimetria="1"属性的节点并返回其file_path:

function set_planimetrie($allegati) {
    // 先判断传入的是否是节点集合数组
    if (!is_array($allegati)) {
        return '';
    }

    // 遍历所有图片节点
    foreach ($allegati as $allegato) {
        // 获取当前节点的planimetria属性值
        $planimetria_val = isset($allegato['planimetria']) ? $allegato['planimetria'] : '';
        
        // 匹配属性值为1的节点
        if ($planimetria_val === '1') {
            // 返回对应的file_path,不存在则返回空
            return isset($allegato['file_path']) ? $allegato['file_path'] : '';
        }
    }

    // 没有找到符合条件的节点时返回空
    return '';
}

2. 在WP ALL Import中正确调用函数

在你要写入的自定义字段输入框里,传入整个图片节点集合(不要加索引[1],因为我们要遍历所有节点),格式如下:

[set_planimetrie({file_allegati})]

注意:{file_allegati}要替换成你XML中对应图片节点的实际变量名(比如你的XML里图片节点是<allegati>,就写{allegati})。

3. 调试小技巧(如果还是没生效)

如果函数还是没返回预期值,可以加日志调试,看看传入的节点结构是什么样的:
修改函数,添加日志输出:

function set_planimetrie($allegati) {
    // 把传入的节点结构写入WP日志,方便排查
    error_log('传入的图片节点结构:' . print_r($allegati, true));
    
    if (!is_array($allegati)) {
        return '';
    }

    foreach ($allegati as $allegato) {
        $planimetria_val = isset($allegato['planimetria']) ? $allegato['planimetria'] : '';
        
        if ($planimetria_val === '1') {
            return isset($allegato['file_path']) ? $allegato['file_path'] : '';
        }
    }

    return '';
}

然后你可以在WordPress后台的「工具」→「站点健康」→「日志」里查看PHP日志,确认节点的属性和结构是否符合预期。

注意事项

  • 确保XML里的planimetria属性值确实是1(注意是字符串还是数字,函数里用===是严格匹配,如果是数字可以改成==);
  • 确认WP ALL Import的变量名和XML节点完全对应,嵌套节点要写成{父节点->子节点}的格式。

内容的提问来源于stack exchange,提问作者user3607711

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:21:29