PluginProbe ʕ •ᴥ•ʔ
Nested Pages / 3.2.15
Nested Pages v3.2.15
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 / NavMenuActions.php
wp-nested-pages / app / Entities / NavMenu Last commit date
NavMenuActions.php 4 years ago NavMenuFrontEnd.php 3 years ago NavMenuRemoveItem.php 8 years ago NavMenuRepository.php 4 years ago NavMenuSync.php 3 years ago NavMenuSyncListing.php 5 days ago NavMenuSyncMenu.php 8 years ago NavMenuTrashActions.php 7 years ago
NavMenuActions.php
45 lines
1 <?php
2 namespace NestedPages\Entities\NavMenu;
3
4 use NestedPages\Entities\NavMenu\NavMenuSyncMenu;
5 use NestedPages\Entities\NavMenu\NavMenuRepository;
6
7 /**
8 * Hook into WP actions for necessary tasks related to nav menus
9 */
10 class NavMenuActions
11 {
12 /**
13 * Nav Menu Repository
14 */
15 private $nav_menu_repo;
16
17 public function __construct()
18 {
19 $this->nav_menu_repo = new NavMenuRepository;
20 $this->addUpdateHook();
21 }
22
23 private function addUpdateHook()
24 {
25 add_action( 'wp_update_nav_menu', [$this, 'syncMenu'], 10, 2 );
26 }
27
28 private function removeUpdateHook()
29 {
30 remove_action( 'wp_update_nav_menu', [$this, 'syncMenu'], 10);
31 }
32
33 /**
34 * Sync Pages when updating nav menu
35 */
36 public function syncMenu($menu_id, $menu_data = null)
37 {
38 if ( get_option('nestedpages_menusync') !== 'sync' ) return;
39 if ( get_option('nestedpages_disable_menu') == 'true' ) return;
40 if ( $menu_id !== $this->nav_menu_repo->getMenuID() ) return; // Don't try to sync menus not managed by NP
41 $this->removeUpdateHook();
42 if ( $menu_data == null ) $sync = new NavMenuSyncMenu($menu_id);
43 $this->addUpdateHook();
44 }
45 }