我看到一些主题采用了“推荐插件”的方法,这样更安全。不要在主题中包含插件。相反,检查某些功能所需的特定于插件的功能-例如,如果您正在谈论ACF,您可以使用:
if(function_exists(\'have_rows\')) {
// Enable fancy theme feature
} else {
// Tell site admin to install plugin if they want to enable fancy feature
}
这在多个方面为您提供了自由:
无需每次更新插件时都更新主题除了主题之外,站点安装插件不会有问题如果插件存在支持问题,您可以轻松地将其提交给插件作者。如果代码嵌入到主题中,从技术上讲,您应该支持所有功能,这可能很快就会变得势不可挡如果插件不是完全开源和免费的,你就不会遇到版权问题特别是如果所讨论的插件提供了付费的高级版本,你不应该将其直接绑定到你的主题中。
Exception:
如果您试图包含一个非常小的插件,比如总共100行代码,那么将其包含在主题中是安全的。为了防止在站点也安装了插件时发生冲突,请为所有函数添加前缀,这样您就不会调用插件调用的任何东西。这样,插件和主题的功能都可以工作。