1
0
Fork 0
mirror of https://github.com/inretio/WordPress-Plugin-Boilerplate synced 2024-05-14 09:12:10 +03:00
WordPress-Plugin-Boilerplate/plugin-name/trunk/plugin-name.php
Tom McFarlin b3451b717f instantiating and loading the dashboard-specific and public-facing areas of the plugin
also updating the docblocks to explain what each hooked function is doing
2014-05-03 15:26:22 -04:00

111 lines
3.5 KiB
PHP

<?php
/**
* Short Description (no period for file headers)
*
* Long Description.
*
* @package Plugin_Name
* @author Your Name or Company Name <email@domain.com>
* @license GPL-2.0+
* @link http://exmaple.com/plugin-name
* @copyright 2014 Your Name or Company Name
*
* @wordpress-plugin
* Plugin Name: Plugin Name
* Plugin URI: http://example.com/plugin-name
* Description: This is a short description of what the plugin does. It's displayed in the WordPress dashboard.
* Version: 1.0.0
* Author: Your Name or Your Company
* Author URI: http://example.com
* Text Domain: plugin-name-locale
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Domain Path: /languages
*/
// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
die;
}
// Define the current stable version of the plugin
if ( ! defined( 'PLUGIN_NAME_VER' ) ) {
define( 'PLUGIN_NAME_VER', '1.0.0' );
}
/**
* Includes the plugin activation class that runs during plugin activation.
*/
require_once plugin_dir_path( __FILE__ ) . 'includes/class-plugin-name-activator.php';
/**
* Includes the plugin deactivation class that runs during plugin deactivation.
*/
require_once plugin_dir_path( __FILE__ ) . 'includes/class-plugin-name-deactivator.php';
/** This action is documented in includes/class-plugin-name-activator.php */
register_activation_hook( __FILE__, array( 'Plugin_Name_Activator', 'activate' ) );
/** This action is documented in includes/class-plugin-name-deactivator.php */
register_activation_hook( __FILE__, array( 'Plugin_Name_Deactivator', 'deactivate' ) );
add_action( 'admin_init', 'plugin_name_admin_init' );
/**
* Initializes the Dashboard-specific functionality of the plugin.
*
* When the admin_init hook is fired, initializes the Dashboard-specific functionality
* of the plugin by injecting an instance of Plugin_Name_Admin into the
* Plugin_Name_Admin_Loader then executes the functionality.
*
* @since 1.0.0
*/
function plugin_name_admin_init() {
/**
* Includes the class responsible for defining the core functionality of the
* dashboard-specific part of the plugin
*/
require_once plugin_dir_path( __FILE__ ) . 'admin/class-plugin-name-admin.php';
/**
* Includes the class responsible for registering all of the Plugin_Name_Admin functions
* with their appropriate callbacks.
*/
require_once plugin_dir_path( __FILE__ ) . 'admin/class-plugin-name-admin-loader.php';
$admin_loader = new Plugin_Name_Admin_Loader();
$admin_loader->run( new Plugin_Name_Admin() );
}
add_action( 'plugins_loaded', 'plugin_name_plugin_loaded' );
/**
* Initializes the public-facing functionality of the plugin.
*
* When the plugins_loaded hook is fired, initializes the public-facing
* functionality of the plugin by injecting an instance of Plugin_Name_Admin
* into the Plugin_Name_Admin_Loader then executes the functionality.
*
* @since 1.0.0
*/
function plugin_name_plugin_loaded() {
/**
* Includes the class responsible for defining the core functionality of
* the public-facing part of the plugin
*/
require_once plugin_dir_path( __FILE__ ) . 'public/class-plugin-name-public.php';
/**
* Includes the class responsible for registering all of the Plugin_Name_Public
* functions with their appropriate callbacks.
*/
require_once plugin_dir_path( __FILE__ ) . 'public/class-plugin-name-public-loader.php';
$loader = new Plugin_Name_Public_Loader();
$loader->run( new Plugin_Name_Public() );
}