yanknudtskov
3/28/2016 - 7:51 PM

WordPress plugin extension boilerplate

WordPress plugin extension boilerplate

 <?php
/**
 * Plugin Name: PB
 * Description: Plugin Extension Boilerplate
 * Version: 1.0.0
 * Author: Liam Bailey
 * Author URI: http://webbyscots.com/
 * License: GNU General Public License v3.0
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 */
global $PB;
$PB = new PB;

class PB {

    private $textdomain = "pb";
    private $required_plugins = array();

    function have_required_plugins() {
        if (empty($this->required_plugins))
            return true;
        $active_plugins = (array) get_option('active_plugins', array());
        if (is_multisite()) {
            $active_plugins = array_merge($active_plugins, get_site_option('active_sitewide_plugins', array()));
        }
        foreach ($this->required_plugins as $key => $required) {
            $required = (!is_numeric($key)) ? "{$key}/{$required}.php" : "{$required}/{$required}.php";
            if (!in_array($required, $active_plugins) && !array_key_exists($required, $active_plugins))
                return false;
        }
        return true;
    }

    function __construct() {
        if (!$this->have_required_plugins())
            return;
        load_plugin_textdomain($this->textdomain, false, dirname(plugin_basename(__FILE__)) . '/languages');
    }
}