PluginProbe ʕ •ᴥ•ʔ
Nested Pages / trunk
Nested Pages vtrunk
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 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 / NavMenu / NavMenuTrashActions.php
wp-nested-pages / app / Entities / NavMenu Last commit date
NavMenuActions.php 4 years ago NavMenuFrontEnd.php 4 years ago NavMenuRemoveItem.php 9 years ago NavMenuRepository.php 4 years ago NavMenuSync.php 3 years ago NavMenuSyncListing.php 1 year ago NavMenuSyncMenu.php 8 years ago NavMenuTrashActions.php 7 years ago
NavMenuTrashActions.php
44 lines
1 <?php
2 namespace NestedPages\Entities\NavMenu;
3
4 use NestedPages\Entities\NavMenu\NavMenuRepository;
5
6 /**
7 * Performs necessary actions when a menu item is trashed
8 */
9 class NavMenuTrashActions
10 {
11 /**
12 * Nav Menu Repository
13 */
14 private $nav_menu_repo;
15
16 public function __construct()
17 {
18 $this->nav_menu_repo = new NavMenuRepository;
19 add_action( 'before_delete_post', [$this, 'removeLinkItem'], 10 );
20 add_action( 'before_delete_post', [$this, 'hidePagefromNav'], 10 );
21 }
22
23 /**
24 * Remove Link Post (np-redirect) when a link in the menu is removed
25 */
26 public function removeLinkItem($post_id)
27 {
28 remove_action( 'before_delete_post', [$this, 'removeLinkItem'], 10 );
29 $redirect_id = get_post_meta($post_id, '_menu_item_xfn', true);
30 $hidden = get_post_meta($redirect_id, '_np_nav_status', true);
31 if ( $redirect_id !== "" && $hidden !== 'hide' ) wp_delete_post($redirect_id, true);
32 return true;
33 }
34
35 /**
36 * Set Page items to hide from nav if page nav item is deleted
37 */
38 public function hidePagefromNav($post_id)
39 {
40 if ( get_post_type($post_id) == 'nav_menu_item' ){
41
42 }
43 }
44 }