A basic class for use in Wordpres plugins
<?php
/**
* -------------------------------------------------------------------------------------------------
* Wordpress
* -------------------------------------------------------------------------------------------------
* Plugin Name: [plugin name]
* Plugin URI:
* Description:
* Version:
* Author: David Fravigar
* Author URI: http://davidfravigar.com/
* License: GNU GENERAL PUBLIC LICENSE V3
* -------------------------------------------------------------------------------------------------
* Developer
* -------------------------------------------------------------------------------------------------
*
* @author David Fravigar <david.fravigar@me.com>
* @version 0.0.1
* -------------------------------------------------------------------------------------------------
*/
/**
* -------------------------------------------------------------------------------------------------
* Stop Direct Access
* -------------------------------------------------------------------------------------------------
*/
if ( !defined( 'ABSPATH' ) ) {
header( 'Status: 403 Forbidden' );
header( 'HTTP/1.1 403 Forbidden' );
exit();
}
/**
* -------------------------------------------------------------------------------------------------
* The Class
* -------------------------------------------------------------------------------------------------
*/
class [plugin name]
{
/**
* -----------------------------------------------------------------------------------------------
* Constructor
* -----------------------------------------------------------------------------------------------
*/
function __construct()
{
add_action('init', array($this, 'co_constants'));
add_action('init', array($this, 'co_includes'));
add_action('init', array($this, 'co_checkWordpress'));
add_action('init', array($this, 'co_init'));
}
/**
* -----------------------------------------------------------------------------------------------
* Define some constants
* -----------------------------------------------------------------------------------------------
*/
public function co_constants()
{
define('[plugin name]_DIR', plugin_dir_path(__FILE__));
define('[plugin name]_URL', plugin_dir_url(__FILE__));
}
/**
* -----------------------------------------------------------------------------------------------
* Check Wordpress
* -----------------------------------------------------------------------------------------------
*/
public function co_checkWordpress()
{
global $wp_version;
if( version_compare( $wp_version, "2.9", "<" ) )
exit( 'This plugin requires WordPress 2.9 or newer. <a href="http://codex.wordpress.org/Upgrading_WordPress">Please update!</a>' );
}
/**
* -----------------------------------------------------------------------------------------------
* Include files
* -----------------------------------------------------------------------------------------------
*/
public function co_includes()
{
}
/**
* -----------------------------------------------------------------------------------------------
* init
* -----------------------------------------------------------------------------------------------
*/
public function co_init()
{
}
/**
* -----------------------------------------------------------------------------------------------
*
* -----------------------------------------------------------------------------------------------
*/
public function co_registerPublicStylesAndScripts()
{
}
/**
* -----------------------------------------------------------------------------------------------
* Admin styles and scripts
* -----------------------------------------------------------------------------------------------
*/
public function co_registerAdminStylesAndScripts()
{
}
/**
* -----------------------------------------------------------------------------------------------
* Public styles and scripts
* -----------------------------------------------------------------------------------------------
*/
public function co_registerPublicStylesAndScripts()
{
}
}
/**
* -------------------------------------------------------------------------------------------------
* Instantiate the class
* -------------------------------------------------------------------------------------------------
*/
new [plugin name]();