PluginProbe ʕ •ᴥ•ʔ
Nested Pages / 1.3.4
Nested Pages v1.3.4
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 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.3.0 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.2 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.3.1 1.6.3.2 1.6.4 1.6.5 1.6.5.1 1.6.5.2 1.6.6 1.6.7 1.6.8 1.7.0 1.7.1 2.0.1 2.0.2 2.0.3 2.0.4 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.20 3.1.21 3.1.22 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7
wp-nested-pages / app / Entities / AdminMenu / AdminSubmenu.php
wp-nested-pages / app / Entities / AdminMenu Last commit date
AdminMenu.php 11 years ago AdminSubmenu.php 11 years ago AdminSubmenuDefault.php 11 years ago AdminSubmenuExpander.php 11 years ago EnabledMenus.php 11 years ago
AdminSubmenu.php
89 lines
1 <?php namespace NestedPages\Entities\AdminMenu;
2
3 use NestedPages\Entities\PostType\PostTypeRepository;
4
5 /**
6 * Adds the submenu for a given menu
7 */
8 class AdminSubmenu {
9
10 /**
11 * Post Type
12 * @var string
13 */
14 private $post_type;
15
16 /**
17 * Post Type Repository
18 */
19 private $post_type_repo;
20
21 /**
22 * Slug
23 * @var string
24 */
25 private $slug;
26
27
28 public function __construct($post_type)
29 {
30 $this->post_type = $post_type;
31 $this->post_type_repo = new PostTypeRepository;
32 $this->setSlug();
33 }
34
35 /**
36 * Add the submenu
37 */
38 public function addSubmenu()
39 {
40 global $submenu;
41
42 // Get the right submenu and remove all pages link
43 foreach($submenu as $key => $sub){
44 if ($key == $this->post_type_repo->editSlug($this->post_type)){
45 // Add the "All Link"
46 $submenu[$this->slug][50] = array( $sub[5][0], 'publish_pages', esc_url(admin_url('admin.php?page=' . $this->slug)) );
47 unset($sub['5']); // Remove Top Level
48 $menu_items = $sub;
49 }
50 }
51
52 if ( isset($menu_items) ){
53 $c = 60;
54 foreach($menu_items as $item){
55 $submenu[$this->slug][$c] = array( $item[0], $item[1], $item[2]);
56 $c = $c + 10;
57 }
58 }
59 $this->defaultLink($c);
60
61 }
62
63
64 /**
65 * Show the default link if set to show
66 * @param int $c Menu Position Counter
67 */
68 private function defaultLink($c)
69 {
70 global $submenu;
71 if ( !$this->post_type_repo->hideDefault($this->post_type->name) ){
72 $submenu[$this->slug][$c] = array(
73 __('Default','nestedpages') . ' ' . $this->post_type->labels->name,
74 'publish_pages',
75 $this->post_type_repo->editSlug($this->post_type)
76 );
77 }
78 }
79
80
81 /**
82 * Set the Menu Slug
83 */
84 private function setSlug()
85 {
86 $this->slug = $this->post_type_repo->getMenuSlug($this->post_type);
87 }
88
89 }