Name Last Update
..
dist Loading commit data...
includes Loading commit data...
locale Loading commit data...
res Loading commit data...
src Loading commit data...
templates Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
installer.php Loading commit data...
loader.php Loading commit data...
phpcs.compatibility.xml Loading commit data...
phpcs.xml Loading commit data...
phpunit.xml Loading commit data...
repositories.xml Loading commit data...
webpack.config.js Loading commit data...

OTGS WP Installer

OTGS WP Installer is a library that allows you to install and upgrade plugins and themes developed by OnTheGoSystems.

Installation

First, add OTGS WP Installer as a dependency with Composer:

composer require otgs/installer

Make sure that your bootstrap file is loading the composer autoloader:

require_once 'vendor/autoload.php';

Then, load the OTGS WP Installer bootstrap. Before the plugins_loaded action add:

include 'vendor/otgs/installer/loader.php';

Optionally, you can specify parameters to configure showing a dedicated UI under Plugins -> Install New or to load specific repositories. By default, all repositories configrede in repositories.xml will be loaded:

WP_Installer_Setup( $wp_installer_instance,  
    array(
        'plugins_install_tab'   => '1',   // optional, default value: 0
        'repositories_include'  => array( 'wpml' ) // optional, default to empty (show all)
    )
); 

After init, configure display the OTGS WP Installer UI like in the example below:

WP_Installer_Show_Products( 
    array( 
        'template'         => 'compact', //required
        'product_name'     => 'WPML', 
        'box_title'        => 'Multilingual Avada', 
        'name'             => 'Avada', //name of theme/plugin
        'box_description'  => 'Avada theme is fully compatible with WPML - the WordPress Multilingual plugin. WPML lets 
                                      you add languages to your existing sites and includes advanced translation management.', 
        'repository'       => 'wpml', // required
        'package'          => 'multilingual-cms', // required
        'product'          => 'multilingual-cms' // required
    ) 
);
  • template two options available: default and compact. Default will be the same GUI as on the Plugins -> Install new page while compact is a smaller version that can be fit in a different already existing screen
  • repository only one product of a specific product package from a specific repository can be shown
  • package only one product of a specific product package from a specific repository can be shown
  • product only one product of a specific product package from a specific repository can be shown