PluginProbe
Nested Pages / 3.2.2
Nested Pages v3.2.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
74 lines 1.6 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\Post\PostSaveActions;
34 new Entities\Post\PrivatePostParent;
35 new Entities\Listing\ListingActions;
36 new Entities\NavMenu\NavMenuActions;
37 new Entities\NavMenu\NavMenuTrashActions;
38 new Entities\User\UserCapabilities;
39 new Form\Events;
40 new Config\Settings;
41 }
42
43 /**
44 * Wordpress Initialization Actions
45 */
46 public function initializeWordPress()
47 {
48 new Entities\AdminMenu\AdminMenu;
49 new Entities\DefaultList\DefaultListFactory;
50 new Entities\AdminCustomization\AdminCustomizationFactory;
51 $this->addLocalization();
52 }
53
54 /**
55 * Localization Domain
56 */
57 public function addLocalization()
58 {
59 load_plugin_textdomain(
60 'wp-nested-pages',
61 false,
62 dirname( dirname( plugin_basename( __FILE__ ) ) ) . '/languages' );
63 }
64
65 /**
66 * Add a link to the settings on the plugin page
67 */
68 public function settingsLink($links)
69 {
70 $settings_link = '<a href="options-general.php?page=nested-pages-settings">' . __('Settings', 'wp-nested-pages') . '</a>';
71 array_unshift($links, $settings_link);
72 return $links;
73 }
74 }