* Based on [WooCommerce](https://woocommerce.com) installation and activation process.
* Automatically updates plugin and database schema versions.
* Handles database table creation and updates (Schema enforcement).
* Provides [WP-CLI](https://wp-cli.org) commands for manual updates, and database table creation / verification.
* Easily extendable
## Installation
We officially support installing via composer only
### Via composer
```bash
composer require oblak/wp-plugin-installer
```
## Basic Usage
``Base_Plugin_Installer`` is an **abstract** singleton class which can be extended to create a plugin installer class. The class is responsible for installing and activating the plugin, and updating the plugin and database schema versions.
You need to extend it and implement the ``set_defaults()`` method, which is responsible for setting the default values for the class.
If your plugin needs non-wp database tables, you need to implement the ``get_schema()`` method, and set the ``has_db_tables`` property to ``true``, so that the installer can create and update the tables.
Covered in the [documentation](https://plugin-installer.wp.rs).
## Contributing
Contributions are welcome from everyone. We have [contributing guidelines](CONTRIBUTING.md) to help you get started.
## Credits and special thanks
This project is maintained by [Oblak Studio](https://oblak.studio).
Special thanks goes to good people at [Automattic](https://automattic.com) for creating [WooCommerce](https://woocommerce.com) on whose installer this one is based upon, and [Action Scheduler](https://actionscheduler.org), which enables us to run update callbacks in the background.
## License
This project is licensed under the [GNU General Public License v2.0](LICENSE).