wp admin - How to provide a plugin which requires CMB2 (plugin dependencies)?

Every serious plugin developer probably has to deal with this problem: WordPress is not supporting composer or any depen

Every serious plugin developer probably has to deal with this problem: WordPress is not supporting composer or any dependency management by default. I have written a great plugin which I would like to put into the official repository on WordPress.

Problem is: I do not want to write all of those options pages (including network options pages) on my own - this is why I am using the CMB2 library. It is actually a well known framework used by a lot of WordPress developers in order to create options pages:

Most probably it is not a good idea to put the CMB2 library into my Plugin (which would also require constant updates). But what other option do I have? What is a good way to deal with this problem?

Every serious plugin developer probably has to deal with this problem: WordPress is not supporting composer or any dependency management by default. I have written a great plugin which I would like to put into the official repository on WordPress.

Problem is: I do not want to write all of those options pages (including network options pages) on my own - this is why I am using the CMB2 library. It is actually a well known framework used by a lot of WordPress developers in order to create options pages: https://github/CMB2/CMB2

Most probably it is not a good idea to put the CMB2 library into my Plugin (which would also require constant updates). But what other option do I have? What is a good way to deal with this problem?

Share Improve this question asked Mar 19, 2019 at 17:04 BlackbamBlackbam 57511 silver badges28 bronze badges 5
  • Have you looked into how WooCommerce extensions make sure that WooCommerce is installed and activated? – kero Commented Mar 19, 2019 at 17:19
  • Unfortunately there really isn't a good solution for this issue. Either you include the library in your plugin, and then manage the updates to the library on the plugin repo, or you write the code for the meta boxes and options pages yourself. The only other option is if you want people to use the CMB plugin and consider yours an addon for that then you could use if (!class_exists('cmb_main_class_name)){ ... on your plugin init function – mrben522 Commented Mar 19, 2019 at 17:25
  • @mrben522 Already thought about that but for normal users it will be too difficult to install CMB2 themselves (which may even be removed from the repo). – Blackbam Commented Mar 19, 2019 at 18:28
  • 1 In that case you're going to have to include the library in your plugin. It's not ideal but it's definitely not uncommon or particularly frowned upon in wordpress plugins. – mrben522 Commented Mar 19, 2019 at 18:40
  • @mrben522 Ok I see - thanks! – Blackbam Commented Mar 19, 2019 at 18:42
Add a comment  | 

1 Answer 1

Reset to default 2

On your plugin activation hook method you can check if CMB plugin is installed and/or activated.

You can check this using the following methods:

  1. is_plugin_active(): only available from within the admin pages
  2. function_exists() or class_exists(): available anywhere once they are PHP core methods

If CMB is not installed, you can throw an error message in the panel with instructions to the user on how to install it.

This article has a great explanation on how to check WordPress Plugin Dependencies.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745674482a4639604.html

相关推荐

  • wp admin - How to provide a plugin which requires CMB2 (plugin dependencies)?

    Every serious plugin developer probably has to deal with this problem: WordPress is not supporting composer or any depen

    5小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信