在多个环境中同步插件设置(wp_options表)

时间:2019-08-12 作者:Johan van der Molen

你们如何处理数据库更改,尤其是设置(wp\\u选项)?

我在寻找类似的东西,有一个JSON文件(或类似于Laravel的迁移文件)和设置,我可以在部署后运行。

例如,安装WooCommerce后,我有一个列表,其中包含我要立即使用和导入的默认设置(预设)。但一旦我添加了一个新的功能或插件,我就可以跨多个环境迁移这些设置。

如果JSON文件(或设置文件)是基于环境的,那就太酷了。所以我可以在本地使用测试支付方式设置,在生产中使用实时设置。只需在我的部署脚本中运行wp migrate options之类的命令,即可为该环境设置所有正确的设置。

有这样的事吗?

提前感谢:)

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

这是一个棘手的问题,因为即使你可能让它与核心插件一起工作,你也永远不知道它们是否也将数据存储在文件、自定义表、post类型等中。如果只同步选项表,则可能会得到不一致/部分/中断状态。此外,您可能不想同步所有内容,因为有些内容(如瞬态)在选项表中,但不是真正的设置。

对于将配置存储在数据库中的系统来说,这是一个普遍的问题,对于WP来说更是如此,因为数据存储格式有些脆弱。

如果你在网上或这个网站上搜索,你会发现有很多问题和尝试来解决这个问题。但没有通用的最佳实践解决方案。

话虽如此,关于您的具体要求,您可以看看https://github.com/danielbachhuber/dictator 这看起来像是未维护的,但可能会让您在一种可能的方法上领先一步。

相关推荐

Add async script

我正在开发一个插件,该插件必须在页面上插入脚本(类似于RefTagger), 这很容易使用wp_enqueue_script, 但有两个原因我不能这样做:脚本标记必须有一个ID,并且应该异步执行。我找到了三种可能的解决方案,但我真的不喜欢其中任何一种:Just echo the script in wp_footer这是最简单的一个,我可以完全控制脚本标签,但它可能会遭到反对(我打算将我的插件提交到插件库,所以欢迎提供有关官方指南的任何建议)Use the standard functions and u