如何从我的插件中触发另一个插件中的功能?

时间:2017-12-07 04:37:27

标签: wordpress plugins

我需要编写一个WP插件,需要生成一些QR码并允许文件上传/下载,并根据QR码生成和文件上传/下载的结果做其他事情。我知道这两种插件都有现成的插件,我不想自己重新编写它们而不是重新发明轮子。

我理想的情况是,我可以告诉人们安装我的插件,它将自动安装我依赖的2个插件。然后当他们激活我的插件时,它也会激活其他2个插件。

在我的插件中,我的工作是xyz1,然后当涉及到文件上传部分时,我会调用一些东西来触发插件1的文件上传UI来显示,在完成之后,我想得到它的过程结果并继续我的xyz2工作。我想为QR码(插件2)做同样的事情。

所以,我的问题是:

  1. 如何让我的插件依赖于其他插件?

  2. 如何在插件中显示其他插件的UI并能够使用结果?

  3. 您能告诉我这样做的代码示例/示例插件吗?

  4. 基本上,任何会引导我走上正确道路或详细路径的任何事情都会非常感激。谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 使用TGM插件激活 - http://tgmpluginactivation.com/
  2. 取决于插件,但根据我的要求,我能够找到插件WordPress文件上传并使用do_shortcode()。这样做的缺点是我的插件真的不“知道”在另一个插件中发生的任何成功/失败状态(幸运的是,插件的创建者有成功状态的重定向,这对我来说足够了) 。
    • 还有许多库可用,并且可以使用composer来包含这些库以不重新发明轮子。我发现这极大地加速了开发。找到这些库的地方是通过搜索引擎,或通过https://packagist.org/
  3. 未找到示例插件,但我能够在不到40小时内成功完成插件。

    echo do_shortcode('[wordpress_file_upload uploadpath="'.$relative_upload_path.'" 
    uploadpatterns="'.$allowedFileTypes.'" maxsize="2248" createpath="true" forcefilename="true"  
    redirect="true" redirectlink="'.$redirectlink.'" 
    notify="true" notifymessage="Image file was uploaded."]');