本文最后更新于185 天前,其中的信息可能已经过时,如有错误请发送邮件到184874483@qq.com
进行修复
我这里有个问题需要进行修复一下,昨天晚上我测试的时候我发现数据库modified的储存格式为:2025-11-26 12:31:53但是呢我们从网站上面取下来的modified的格式为2025-11-26T12:31:53这两个的区别是:中间有个T,如果不进行修复的话,在合并得更新文章的merge节点他会把所有的文章都认为是更新的文章,导致输出全部更新文章,也会影响我们后续文件的生成。

所以我们需要在获取wordpress列表节点后面增加一个数据格式转换节点,去掉从网站获取节点modified节点中那个T

// 处理前一个节点(获取wordpress列表)的所有数据,替换modified中的'T'为空格
const items = $input.all(); // 获取前节点的全部列表数据
const processedItems = items.map(item => {
// 仅当modified字段存在且为字符串时才处理,避免报错
if (item.json.modified && typeof item.json.modified === 'string') {
return {
...item,
json: {
...item.json,
// 将 ISO 格式的 'T' 替换为空格,统一为数据库格式
modified: item.json.modified.replace('T', ' ')
}
};
}
// 字段不存在或格式异常时,返回原始数据(可根据需求调整)
return item;
});
return processedItems;

文章的分类
现在我们要在合并的新的更新过程中引出个新的节点,这个节点是负责将更新的文章进行分类,然后再根据需要进行输出

如图所示,我们根本就不需要太多的返回内容,我们仅需要获得一个文章的标题和文章的内容。还有文章的分类标签。

接下来我们我建议先对文章进行初步提取,让文章格式转换成一种方便人可以阅读的格式。
处理图片
// 获取输入数据
const inputData = $input.all();
// 处理每个条目
const outputData = inputData.map(item => {
let contentRendered = item.json.content.rendered;
// 更严格的正则:仅匹配class为wp-block-image的figure,且精准定位img的data-original
const imgRegex = /<figure class="wp-block-image(?: [^"]+)?"[^>]*>\s*<div[^>]*>\s*<img[^>]*data-original="([^"]+)"[^>]*>\s*<\/div>\s*<\/figure>/gi;
contentRendered = contentRendered.replace(imgRegex, (match, imgUrl) => {
// 保持AI易读的图片标记
return `[图片:文章相关配图,地址:${imgUrl}]`;
});
// 返回处理后的数据
return {
...item.json,
content: {
...item.json.content,
rendered: contentRendered
}
};
});
// 输出结果
return outputData;

处理代码块
const inputData = $input.all();
const outputData = inputData.map(item => {
let contentRendered = item.json.content.rendered;
// 精准匹配你的wp-block-code代码块结构,不影响其他文案
const codeRegex = /
([\s\S]*?)<\/code><\/pre>/gi;
contentRendered = contentRendered.replace(codeRegex, (_, code) => {
// 还原转义字符(如>→>、&→&),再包装成AI易读格式
const decodedCode = code.replace(/>/g, '>').replace(/&/g, '&');
return [代码块:完整可执行脚本,内容:\n${decodedCode}\n];
});
return {
…item.json,
content: { …item.json.content, rendered: contentRendered }
};
});
return outputData;

