这实际上取决于开发人员以及他们如何接受使用WordPress的培训。总的来说,我看到了两种思想流派:
一些开发人员在插件中发现了一个他们认为很酷的特性。不幸的是,他们不太确定如何自己实现它,但确实希望在主题中包含这些功能。他们将在主题中加入一个插件,并继续使用,而不是重新发明轮子。
在大多数情况下(不是全部,但我见过的大多数),这是开发人员背景缺乏经验的直接后果。要么他们对PHP了解不够,无法自己构建新系统,要么他们懒得尝试。
设计产品
其他开发商将试图迎合那些不太了解的客户。他们的主题是围绕一个大型的、基于Flash的旋转横幅插件构建的。该插件相当有名,但他们不知道原作者是否/何时会用主题不理解的代码更新系统。正在更改DB架构、更改参数、新挂钩。。。所有这些都会破坏一个没有相应更新的主题。
而不是冒险让客户点击;更新(&Q);在不知道它会做什么的情况下(或者一旦主题完成,就有可能将自己绑定到客户机的无限一串更新),他们将获取当前工作版本的快照,并将其硬编码到主题中。这样,他们肯定会知道,它将始终与他们的主题相配合。
有点像在Svn中对外部引用进行硬编码,然后禁用版本控制以便无法更新:-)
为什么这种做法是有组织的还是有意的并不重要,它仍然是一个very bad idea!!!
主题是否更新,插件是否更新。。。WordPress最终将更新。坦率地说,将您的客户限制为单一版本是一种侮辱和糟糕的行为。与其硬编码插入式插件,不如使用提供的挂钩让主题更好地发挥作用,并鼓励用户安装其他系统。如果您使用WordPress挂钩(操作和过滤器)而不是直接调用函数,那么在稳定性方面不会有太大风险。如果挂钩发生变化,该功能将被禁用,就像插件未安装一样。