Skip to content

Instantly share code, notes, and snippets.

@WebBamboo
Created June 2, 2020 11:43
Show Gist options
  • Save WebBamboo/09965954ce5a773fc0da68a602cce5bf to your computer and use it in GitHub Desktop.
Save WebBamboo/09965954ce5a773fc0da68a602cce5bf to your computer and use it in GitHub Desktop.
Wordpress Plugin Boilerplate
<?php
/**
* Plugin Name: Boilerplate
* Plugin URI: http://webbamboo.net
* Description: Boilerplate for WP plugin
* Version: 0.1
* Author: Webbamboo Ltd
* Author URI: http://webbamboo.net
* License: GPL2.
**/
class Boilerplate
{
private static $_instance = null;
private $_plugin_path;
private $_plugin_url;
private $_text_domain = 'boilerplate';
/**
* Creates or returns an instance of this class.
*
* @return object Wb_Dynamicforms_Plugin
*
*/
public static function get_instance()
{
/**
* If an instance hasn't been created and set to $instance create an
* instance and set it to $instance.
*/
if (null == self::$_instance) {
self::$_instance = new self();
}
return self::$_instance;
}
/**
* Initializes the plugin by setting localization, hooks, filters, and
* administrative functions.
*/
function __construct()
{
$this->_plugin_path = plugin_dir_path(__FILE__);
$this->_plugin_url = plugin_dir_url(__FILE__);
load_plugin_textdomain($this->_text_domain, false, 'lang');
add_action('admin_enqueue_scripts', array($this, 'register_admin_scripts'));
add_action('admin_enqueue_scripts', array($this, 'register_admin_styles'));
add_action('wp_enqueue_scripts', array($this, 'register_scripts'));
add_action('wp_enqueue_scripts', array($this, 'register_styles'), 999);
register_activation_hook(__FILE__, array($this, 'activation'));
register_deactivation_hook(__FILE__, array($this, 'deactivation'));
$this->run_plugin();
}
public function register_admin_scripts($hook)
{
}
public function register_admin_styles()
{
}
/**
* Place code for your plugin's functionality here.
*/
private function run_plugin()
{
}
/**
* Place code that runs at plugin activation here.
*/
public function activation()
{
}
/**
* Place code that runs at plugin deactivation here.
*/
public function deactivation()
{
}
/**
* Enqueue and register JavaScript files here.
*/
public function register_scripts()
{
if (!is_admin()) {
}
}
/**
* Enqueue and register CSS files here.
*/
public function register_styles()
{
}
}
Boilerplate::get_instance();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment