问题描述
我试图扩展另一个插件的功能。我需要从数据库中获得数据,使用与原始插件不同的方式。 (在这种情况下,WPMUDev 类别和列表插件) 。法典有什么东西吗如何创建可以使用其他插件功能的插件?可以扩展它们并构建父节点的功能吗?我不知道这些插件是使用类还是直接使用。
我只是试图从插件获取数据到一个侧边栏小工具 (在表单选项元素),但最终我将使用这个内容区域以及使用自定义短码。现在我只需要一个开始的地方。
最佳解决方案
是的,可以创建一个扩展另一个插件的插件。以下是有关您如何了解的一些想法:
-
插件可以像 WordPress 核心一样设置自己的动作和过滤钩子 (使用
do_action
和apply_filter
功能) 。如果您要定位的插件执行此操作,则可以使用这些挂钩来更改功能。 -
如果一个插件使用了 object-oriented 结构,你可以扩展类并构建在原始插件上。
-
您可以通过原始插件读取存储在数据库中的数据,并在插件代码中使用它。
-
检查插件是否处于活动状态并加载后,您可以调用所需的原始插件的任何函数 (见下文) 。只要知道该函数除了返回值之外可能具有的任何效果。
您需要检查原始插件是否被激活。您可以使用 is_plugin_active
功能; 但是,这只适用于管理页面。或者,您可以使用 function_exists
或 class_exists
来检查原始插件中的特定功能或类是否可用,这将告诉您它正在运行。
请记住,只要原始插件更新,您需要使用新版本测试您的插件,以查找可能与插件相冲突的任何新内容。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。