PluginProbe
Nested Pages / 3.0.2
Nested Pages v3.0.2
3.3.1 3.2.15 3.2.14 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 All 106 releases
wp-nested-pages / app / Bootstrap.php
Bootstrap.php
70 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace NestedPages;
3
4 /**
5 * Primary Plugin Bootstrap
6 */
7 class Bootstrap
8 {
9 public function __construct()
10 {
11 $this->initializePlugin();
12 add_action( 'wp_loaded', [$this, 'wpLoaded']);
13 add_action( 'init', [$this, 'initializeWordPress']);
14 add_filter( 'plugin_action_links_' . 'wp-nested-pages/nestedpages.php', [$this, 'settingsLink']);
15 }
16
17 /**
18 * WP Loaded
19 */
20 public function wpLoaded()
21 {
22 new Activation\Activate;
23 new Redirects;
24 }
25
26 /**
27 * Initialize Plugin
28 */
29 private function initializePlugin()
30 {
31 new Entities\PostType\RegisterPostTypes;
32 new Entities\Post\PostTrashActions;
33 new Entities\Listing\ListingActions;
34 new Entities\NavMenu\NavMenuActions;
35 new Entities\NavMenu\NavMenuTrashActions;
36 new Form\Events;
37 new Config\Settings;
38 }
39
40 /**
41 * Wordpress Initialization Actions
42 */
43 public function initializeWordPress()
44 {
45 new Entities\AdminMenu\AdminMenu;
46 new Entities\DefaultList\DefaultListFactory;
47 $this->addLocalization();
48 }
49
50 /**
51 * Localization Domain
52 */
53 public function addLocalization()
54 {
55 load_plugin_textdomain(
56 'wp-nested-pages',
57 false,
58 dirname( dirname( plugin_basename( __FILE__ ) ) ) . '/languages' );
59 }
60
61 /**
62 * Add a link to the settings on the plugin page
63 */
64 public function settingsLink($links)
65 {
66 $settings_link = '<a href="options-general.php?page=nested-pages-settings">' . __('Settings', 'wp-nested-pages') . '</a>';
67 array_unshift($links, $settings_link);
68 return $links;
69 }
70 }