有了WordPress Importer,为什么我不能导入包含多维数组的POST meta,其中该数组的值包含换行符?

时间:2012-02-15 作者:Jason

问题是WordPress Importer, 为什么我不能导入包含多维数组的post meta,其中数组的值包含换行符?

是否有一种变通方法可以保存我的数据以使其正常工作?在将数据保存到post meta之前,我是否可以在我的卫生过程中采取不同的格式?

背景信息我创建了一个WordPress插件,它提供了一个布局生成器。用户可以使用给定的某些“元素”(即滑块、一组列、内容输入等)为自定义布局构建内容,然后将该自定义布局应用于其站点上的静态页面。

最初,我的目标是让所有自定义布局与WordPress的导入/导出工具配合使用。因此,每个自定义布局实际上都是一个自定义的post类型post,其各自的“元素”集作为post meta保存到该post中。

因此,本质上,我将这个包含所有“元素”的多维数组作为自定义字段保存到自定义帖子中,这是自定义布局。

问题是,如果自定义版面的任何“元素”包含任何用户输入的带换行符的文本,则会阻止通过WordPress导入post meta。结果是导入了自定义贴子(即自定义布局),但元素的贴子元为空。因此,用户会看到一个没有元素的空白布局。

因此,第一个示例没有换行符,可以工作。

然而,在第二个示例中,用户插入了换行符,因此它不起作用,出现了上述问题。

可能的解决方案

我真的希望能够为用户设置示例内容,并为他们提供WordPress导入文件,以便他们能够快速导入这些示例布局。

所以,我只是想知道是否可以采取任何措施来避免这种情况?在我的清理过程中,我是否可以在将数据存储到post meta之前对其进行任何不同的格式化?显然,我只是去掉了所有的空白,但是用户将无法在布局生成器的选项中格式化文本。

1 个回复
最合适的回答,由SO网友:Matthew Boynes 整理而成

我敢说你的问题是\\r\\n (CRLF)。如果换行符是在Windows中创建的,它们将作为\\r\\n 序列化时,计数为2个字符。然后在导入时,它们将仅计为1个字符,并且会损坏字符串。我测试了这个假设,确信我能够创建一个损坏的序列化字符串。

如果这是你的问题,解决办法就是更换"\\r\\n" 具有"\\n" 保存post meta时。这是一个很长的机会,但我想不出还有什么可能导致这种行为。试一试,让我知道结果如何!

结束

相关推荐

从WordPress中搜索XML文件?

我们使用Jira 内部缺陷管理系统<我们想为客户提供缺陷跟踪。我们无法将Jira公开给web,但我们的主站点托管在WP 3.2.1I上,我可以从Jira导出一个XML文件,并将其链接到我们的Wordpress站点下。我在想,我可以在Wordpress中创建一个基本页面,让我们的用户可以过滤这个XML列表。i、 e.从标题或描述节点搜索关键字的参考编号。我希望找到一个好的Jira/WP插件,但运气不好。我想要的答案是:-这是否可以通过WP实现-什么是实现这一点的最佳方法?-与类似尝试的任何链接也将是有