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 / NavMenuSync.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
NavMenuSync.php
84 lines
1 <?php
2 namespace NestedPages\Entities\NavMenu;
3
4 use NestedPages\Entities\NavMenu\NavMenuRepository;
5 use NestedPages\Entities\PluginIntegration\IntegrationFactory;
6 use NestedPages\Config\SettingsRepository;
7
8 /**
9 * Base Nav Menu Sync class
10 */
11 abstract class NavMenuSync
12 {
13 /**
14 * Nav Menu Repository
15 * @var object NavMenuRepository
16 */
17 protected $nav_menu_repo;
18
19 /**
20 * The Menu ID
21 * @var int
22 */
23 protected $id;
24
25 /**
26 * Settings Repository
27 * @var object
28 */
29 protected $settings;
30
31 /**
32 * Plugin Integrations
33 * @var object
34 */
35 protected $integrations;
36
37 public function __construct()
38 {
39 $this->nav_menu_repo = new NavMenuRepository;
40 $this->integrations = new IntegrationFactory;
41 $this->settings = new SettingsRepository;
42 $this->setMenuID();
43 }
44
45 /**
46 * Menu ID Setter
47 */
48 protected function setMenuID()
49 {
50 $this->id = $this->nav_menu_repo->getMenuID();
51 }
52
53 /**
54 * Remove a Menu Item
55 * @since 1.3.4
56 *
57 * @param int $id - ID of nav menu item
58 */
59 protected function removeItem($id) {
60
61 $recurse = apply_filters('nestedpages_recursive_remove_menu_item', false, $id);
62 if ( ! empty( $id ) && $recurse ) {
63 $args = [
64 'post_type' => 'nav_menu_item',
65 'meta_query' => [
66 [
67 'key' => '_menu_item_menu_item_parent',
68 'value' => $id
69 ]
70 ],
71 'fields' => 'ids'
72 ];
73 $children = get_posts( $args );
74 if ( $children ) {
75 foreach ( $children as $child ) {
76 $this->removeItem( $child, true );
77 }
78 }
79 }
80
81 wp_delete_post( $id, true );
82 }
83 }
84