如果由于我的站点URL更改而更新数据库中的所有URL,会有风险吗?

时间:2014-11-14 作者:Atthapon Junpun-eak

假设我在子域上有一个wordpress站点。

最初,我用“www.”>>>www.mysite创建了这个网站。主站点。com公司

现在,我想将站点url更改为仅mysite。主站点。没有www的com。

我可以通过设置>常规来更改它,但我检查了数据库,发现媒体库中的所有图像(posts表的guid字段)仍然有www.mysite。主站点。我不再需要它了。

我还发现了与此相关的线程Changing www prefix in General Settings and Interior Links

但任何人都可以提出这样做是否有风险?那里的代码今天可用吗?

谢谢

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

当域发生更改时,我已经更新了存储在数据库中的URL。

以下是需要注意的事项:

中的posts 表中,post\\u内容将包含任何嵌入链接。这些您可以更改而不会出现问题posts 表中,如果执行全局搜索和替换,gid将更改。这主要用于RSS提要。除非RSS-GID对您很重要,否则您可以更改它们,也可以让它们没有太多问题postmeta table,这就是它变得棘手的地方。如果该字段只是一个原始字符串字段,那么更改它不会有任何问题。The issue is when the URL is within serialized PHP data.

Why serialized data would break

当PHP序列化字符串时,它会嵌入字符串的长度。例如http://www.example.com 成为s:22:"http://www.example.com";. 请注意22 之后s:, 这是字符串长度。如果我们放弃www, 那么序列化的值将是:s:18:"http://example.com";. 如果长度错误,则数据将成为WordPress的垃圾。

结束

相关推荐

Add CPT values to Database

我不确定这是不是件容易的事。我有一个插件,具有定制帖子类型所需的所有功能:过滤器、导航。。。我需要为这个CPT创建很多帖子(使用分类法)(需要做很多工作才能正确创建它)。所以我只想添加一次这个自定义帖子,而不是每次我想利用我在其他网站的插件。。。实现这一目标的最佳方式是什么?我是不是每次都要进行某种形式的进出口贸易?我应该利用wp\\u insert\\u post并对帖子的内容进行硬编码吗?为我的英语道歉,我不知道我是否已经解释过了。。。谢谢