如何使用共享代码库管理多个WordPress项目

时间:2012-02-27 作者:ltfishie

除了外观变化之外,我还需要构建几个高度定制的WordPress实例。例如,在其中一个实例中,任何具有子级的类别都需要显示在编辑后页面上自己的下拉列表中。我不能使用多站点设置,因为每个实例可能需要高度定制。

我还想让这些单独的项目共享相同的基本代码,即标准WordPress安装和一些共享逻辑,如安全补丁、缓存等。

目前,我的源代码管理中有以下布局:

root
    +---wordpress_base
    +---project1
    +---project2
wordpress\\u base包含wordpress源代码树。project1和project2仅包含为自定义而更改的文件。在部署期间,我的ant脚本将wordpress\\u base与特定项目中的自定义代码相结合。

这是管理多个WordPress源代码的好方法吗?我没有php/wordpress开发方面的专业知识。请随时让我知道我在做什么是愚蠢的,并建议正确的方法。

2 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

如前所述,永远不要修改wordpress核心文件。这是一场维护噩梦,是一种安全风险,也是非常非常糟糕的做法。

在开发过程中,您需要关注的唯一领域是wp内容文件夹,特别是插件和主题。将帖子类型注册、url重写、自定义分类法等放在插件中,并将视觉效果放在主题中。

假设您有svn或git作为版本控制,我会为wordpress\\u base提供自己的存储库。然后为每个项目提供一个repo,其中包含项目文件夹和一个SVN外部/Git子模块,该子模块将引入基本wordpress主题。

这样,每个项目都有自己的存储库和历史记录,但都共享wordpress\\u基本文件夹,该文件夹通过版本控制单独跟踪并自动拉入。

您是否考虑过wordpress子主题而不是Ant脚本?

此外,如果您使用的是Git,则可以添加一个自动部署脚本,当您将对某个分支的提交推送到服务器上时,该脚本会将该分支中repos最新文件的副本放在live文件夹中。

SO网友:GavinR

我的建议是通过custom ThemesPlugins. 您不应该修改任何核心文件,因为这会使将来的自动更新破坏您的站点(通常这是一种不好的做法)。

因此,您可以将主题和插件保存在SVN中,每个站点将只是主题+插件的自定义组合。

结束

相关推荐

如何将文本添加到_Content,但在img/Shortcode之后

我试图在每篇文章的开头添加一些文字(文字来自post_meta, 但是对于这个示例,我们假设它是静态文本)。以下是我尝试的内容:add_filter(\'the_content\', function($content) { return \'Text from meta - \' . $content; }); 然而,如果帖子以一个通常是浮动的图像开始(有时甚至用标题短代码包装),添加的文本将出现在图像之前。我想在文章的第一段前面加上文字。有没有办法在不解析完整