Skip to content

Developers Guide

R.Brown edited this page Aug 24, 2019 · 10 revisions

Local Development

  1. Clone repository
$ git clone https://github.com/Labs64/PluginPass.git
  1. Start environment
$ docker-compose up -d
  1. Build project
$ docker exec --workdir=/var/www/html/wp-content/plugins/pluginpass pluginpass-wordpress ./dockerfiles/bin/prj-build.sh

Now you can browse the site at http://localhost:8000 (user/pass: pluginpass/pluginpass)


  1. Stop environment
$ docker-compose down

Test Plugin

The easiest way to test PluginPass is to create a new PluginPass Demo plugin using https://wppb.me

  • Plugin Name: PluginPass Demo
  • Plugin Slug: pluginpass-demo

and extract downloaded ZIP file into data/pluginpass-demo folder (Docker enabled)

Copy examples/class-pluginpass-demo-settings.php into data/pluginpass-demo/admin and adjust $api_key, $product_number and $product_module_number according to the product configuration made in NetLicensing Setup.

Register PluginPass Demo settings page:

  • data/pluginpass-demo/admin/class-pluginpass-demo-admin.php
	public function __construct( $plugin_name, $version ) {

		$this->plugin_name = $plugin_name;
		$this->version = $version;

    require_once plugin_dir_path( dirname( __FILE__ ) ) .  'admin/class-pluginpass-demo-settings.php';
	}
  • data/pluginpass-demo/includes/class-pluginpass-demo.php
	private function define_admin_hooks() {

		$plugin_admin = new Pluginpass_Demo_Admin( $this->get_plugin_name(), $this->get_version() );

		$this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' );
		$this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts' );

		$plugin_settings = new Pluginpass_Demo_Settings( $this->get_plugin_name(), $this->get_version() );
		$this->loader->add_action( 'admin_menu', $plugin_settings, 'pluginpass_demo_options_menu' );
		$this->loader->add_action( 'admin_init', $plugin_settings, 'pluginpass_demo_options_page' );
	}

Clone this wiki locally