-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdemo-plugin.php
More file actions
86 lines (77 loc) · 2.24 KB
/
demo-plugin.php
File metadata and controls
86 lines (77 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
/**
* The plugin bootstrap file
*
* This file is read by WordPress to generate the plugin information in the plugin
* admin area. This file also includes all of the dependencies used by the plugin,
* registers the activation and deactivation functions, and defines a function
* that starts the plugin.
*
* @link https://justin-vogt.com
* @since 1.0.0
* @package Demo_Plugin
*
* @wordpress-plugin
* Plugin Name: Demo Plugin
* Description: This is a short description of what the plugin does. It's displayed in the WordPress admin area.
* Version: 1.0.0
* Requires PHP: 8.0
* Requires at least: 6.9
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Text Domain: demo-plugin
* Domain Path: /languages
*/
// If this file is called directly, abort.
use Demo_Plugin\Activator;
use Demo_Plugin\Deactivator;
use Demo_Plugin\Demo_Plugin;
use Demo_Plugin\Uninstallor;
if ( ! defined( 'WPINC' ) ) {
die;
}
/**
* Plugin absolute path
*/
define( 'DEMO_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
define( 'DEMO_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
/**
* Use Composer PSR-4 Autoloading
*/
require plugin_dir_path( __FILE__ ) . 'vendor/autoload.php';
/**
* The code that runs during plugin activation.
*/
function demo_plugin_activate(): void {
Activator::activate();
}
/**
* The code that runs during plugin deactivation.
*/
function demo_plugin_deactivate(): void {
Deactivator::deactivate();
}
/**
* The code that runs during plugin uninstallation.
*/
function demo_plugin_uninstall(): void {
Uninstallor::uninstall();
}
register_activation_hook( __FILE__, 'demo_plugin_activate' );
register_deactivation_hook( __FILE__, 'demo_plugin_deactivate' );
register_uninstall_hook( __FILE__, 'demo_plugin_uninstall' );
add_action( 'activated_plugin', array( Activator::class, 'network_activation' ), 10, 2 );
/**
* Begins execution of the plugin.
*
* Since everything within the plugin is registered via hooks,
* then kicking off the plugin from this point in the file does
* not affect the page life cycle.
*
* @since 1.0.0
*/
function demo_plugin_run(): void {
$plugin = new Demo_Plugin();
$plugin->run();
}
demo_plugin_run();