我找不到一条讨论这件事的线索,所以就从这条线开始。
我目前正在为3.1+开发一个相当精细的主题,我的意思是,除了样式和常规前端功能之外,我还将插件包括在主题的核心,包括后端和前端。因此,为了使这件事更有条理,我把它分成三个问题:
发布于 2011-04-08 14:16:45
1)集成插件是一种常见的做法吗?
不怎么有意思。通常,您有一个提供基本功能的主题。然后,您只使用插件扩展主题,如twitter内容、事件日历等。
我觉得这很有道理。我目前正致力于一个非常苗条的主题,它有一些插件(OOP方法),可以作为插件交付,但并不捆绑。这些插件提供了分页模板标签,面包屑,.甚至是带有post格式的循环。我喜欢只在用户真正想要的时候才提供功能的想法。为了前夫。如果您使用WP作为CMS的buisness主页,那么这个评论系统是很少需要的,那么为什么主题应该提供这个呢?这种方法的另一个好处是:如果您不需要插件,只需禁用插件并将模板标记与自定义的东西交换即可。
这种方法的重要之处在于:不要直接放置那些模板标记。使用钩子&过滤器包在函数中,这样如果禁用插件,主题就不会因为未定义的函数调用而崩溃。
2)在自动更新主题/插件方面有哪些含义/复杂性?
这是我目前在问自己的问题。我想到了一个庞大的例程,它检查主题和插件的更新,但总的来说:这是没有意义的。如果您只使用内置更新系统(或者使用一些自定义类,如果您没有在正式回购中托管),则更好。原因:您只更新真正需要更新的内容。这节省了一些时间和精力,所以我甚至称之为“绿色”的方式。
3)在不破坏现有功能的情况下,包含每个插件的最优化方法是什么?
在你的情况下,什么是预先存在的功能?
WordPress大约有2.500个函数可以在请求中读取。因此,质疑if ( function_exists('whatever') )绝不是一个好主意。最好用唯一的名字。@Jan有一个好主意:他在这里的所有答案函数前加上了wpse和Q-示例的编号:wpse14277_function_name()。一个4或5位数的数字加上阿尔法很可能会保持独特的状态。假设您在主题中有50个自定义函数,并且对每个请求的2.500个函数进行质疑(您可以自己计算)--这是不符合性能的。
编辑:
如果您只想知道插件是否处于活动状态,请使用is_plugin_active()条件标记。
发布于 2011-04-08 12:36:09
如果您发现您的functions.php变得有点笨重和杂乱无章,您可以在主题中创建更多的.php文件来帮助组织事情,然后通过include_once('path/filename.php')在functions.php中调用这些文件。
发布于 2011-04-08 12:42:17
我想说清楚,你是说把已经作为独立的、功能齐全的插件存在的代码包括进来吗?
集成插件是一种常见的做法吗?
在主题中集成一般的代码是常见的做法。然而,捆绑过多的代码和功能,通常与正常插件实现,被一些人视为功能膨胀,并试图锁定用户进入你的主题。
在自动更新主题/插件方面有什么含义/复杂性?
Update用新版本覆盖所有内容。
在不破坏现有功能的情况下,包含每个插件的最优化方法是什么?
这在很大程度上取决于插件的具体功能,它是如何编码的,以及您的主题是否需要功能,还是仅仅是额外的功能。
https://wordpress.stackexchange.com/questions/14277
复制相似问题