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 / Entities / AdminMenu / AdminSubmenuDefault.php
AdminSubmenuDefault.php
71 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace NestedPages\Entities\AdminMenu;
3
4 use NestedPages\Entities\PostType\PostTypeRepository;
5 use NestedPages\Entities\Listing\Listing;
6
7 /**
8 * Add a link to the default menu
9 */
10 class AdminSubmenuDefault
11 {
12 /**
13 * Post Type
14 * @var object
15 */
16 private $post_type;
17
18 /**
19 * Post Type Repository
20 */
21 private $post_type_repo;
22
23 /**
24 * Menu Hook
25 */
26 private $hook;
27
28 public function __construct($post_type)
29 {
30 $this->post_type = $post_type;
31 $this->post_type_repo = new PostTypeRepository;
32 $this->findMenu();
33 }
34
35 /**
36 * Add the submenu
37 */
38 public function findMenu()
39 {
40 global $submenu;
41 foreach($submenu as $key => $sub){
42 if ($key == $this->post_type_repo->editSlug($this->post_type)){
43 $this->addSubMenu($key);
44 }
45 }
46 }
47
48 /**
49 * Add the submenu item
50 * @param string parent page slug
51 */
52 private function addSubMenu($parent_slug)
53 {
54 $this->hook = add_submenu_page(
55 $parent_slug,
56 $this->post_type_repo->getSubmenuText($this->post_type),
57 $this->post_type_repo->getSubmenuText($this->post_type),
58 'edit_posts',
59 $this->post_type_repo->getMenuSlug($this->post_type),
60 Listing::admin_menu($this->post_type->name)
61 );
62 }
63
64 /**
65 * Get the Menu Hook
66 */
67 public function getHook()
68 {
69 return $this->hook;
70 }
71 }