PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 7.3.0.1
Jetpack – WP Security, Backup, Speed, & Growth v7.3.0.1
15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / sync / class.jetpack-sync-module-menus.php
jetpack / sync Last commit date
class.jetpack-sync-actions.php 7 years ago class.jetpack-sync-defaults.php 7 years ago class.jetpack-sync-functions.php 7 years ago class.jetpack-sync-json-deflate-array-codec.php 7 years ago class.jetpack-sync-listener.php 7 years ago class.jetpack-sync-module-attachments.php 7 years ago class.jetpack-sync-module-callables.php 7 years ago class.jetpack-sync-module-comments.php 7 years ago class.jetpack-sync-module-constants.php 7 years ago class.jetpack-sync-module-full-sync.php 7 years ago class.jetpack-sync-module-import.php 7 years ago class.jetpack-sync-module-menus.php 7 years ago class.jetpack-sync-module-meta.php 7 years ago class.jetpack-sync-module-network-options.php 7 years ago class.jetpack-sync-module-options.php 7 years ago class.jetpack-sync-module-plugins.php 7 years ago class.jetpack-sync-module-posts.php 7 years ago class.jetpack-sync-module-protect.php 7 years ago class.jetpack-sync-module-stats.php 9 years ago class.jetpack-sync-module-terms.php 7 years ago class.jetpack-sync-module-themes.php 7 years ago class.jetpack-sync-module-updates.php 7 years ago class.jetpack-sync-module-users.php 7 years ago class.jetpack-sync-module-woocommerce.php 7 years ago class.jetpack-sync-module-wp-super-cache.php 7 years ago class.jetpack-sync-module.php 7 years ago class.jetpack-sync-modules.php 7 years ago class.jetpack-sync-queue.php 7 years ago class.jetpack-sync-sender.php 7 years ago class.jetpack-sync-server.php 7 years ago class.jetpack-sync-settings.php 7 years ago class.jetpack-sync-simple-codec.php 7 years ago class.jetpack-sync-users.php 7 years ago class.jetpack-sync-wp-replicastore.php 7 years ago interface.jetpack-sync-codec.php 9 years ago interface.jetpack-sync-replicastore.php 7 years ago
class.jetpack-sync-module-menus.php
79 lines
1 <?php
2
3 class Jetpack_Sync_Module_Menus extends Jetpack_Sync_Module {
4 private $nav_items_just_added = array();
5
6 function name() {
7 return 'menus';
8 }
9
10 public function init_listeners( $callable ) {
11 add_action( 'wp_create_nav_menu', $callable, 10, 2 );
12 add_action( 'wp_update_nav_menu', array( $this, 'update_nav_menu' ), 10, 2 );
13 add_action( 'wp_add_nav_menu_item', array( $this, 'update_nav_menu_add_item' ), 10, 3 );
14 add_action( 'wp_update_nav_menu_item', array( $this, 'update_nav_menu_update_item' ), 10, 3 );
15 add_action( 'post_updated', array( $this, 'remove_just_added_menu_item' ), 10, 2 );
16
17 add_action( 'jetpack_sync_updated_nav_menu', $callable, 10, 2 );
18 add_action( 'jetpack_sync_updated_nav_menu_add_item', $callable, 10, 4 );
19 add_action( 'jetpack_sync_updated_nav_menu_update_item', $callable, 10, 4 );
20 add_action( 'delete_nav_menu', $callable, 10, 3 );
21 }
22
23 public function update_nav_menu( $menu_id, $menu_data = array() ) {
24 if ( empty( $menu_data ) ) {
25 return;
26 }
27 /**
28 * Helps sync log that a nav menu was updated.
29 *
30 * @since 5.0.0
31 *
32 * @param int $menu_id, the id of the menu
33 * @param object $menu_data
34 */
35 do_action( 'jetpack_sync_updated_nav_menu', $menu_id, $menu_data );
36 }
37
38 public function update_nav_menu_add_item( $menu_id, $nav_item_id, $nav_item_args ) {
39 $menu_data = wp_get_nav_menu_object( $menu_id );
40 $this->nav_items_just_added[] = $nav_item_id;
41 /**
42 * Helps sync log that a new menu item was added.
43 *
44 * @since 5.0.0
45 *
46 * @param int $menu_id, the id of the menu
47 * @param object $menu_data
48 * @param int $nav_item_id
49 * @param int $nav_item_args
50 */
51 do_action( 'jetpack_sync_updated_nav_menu_add_item', $menu_id, $menu_data, $nav_item_id, $nav_item_args );
52 }
53
54 public function update_nav_menu_update_item( $menu_id, $nav_item_id, $nav_item_args ) {
55 if ( in_array( $nav_item_id, $this->nav_items_just_added ) ) {
56 return;
57 }
58 $menu_data = wp_get_nav_menu_object( $menu_id );
59 /**
60 * Helps sync log that an update to the menu item happened.
61 *
62 * @since 5.0.0
63 *
64 * @param int $menu_id, the id of the menu
65 * @param object $menu_data
66 * @param int $nav_item_id
67 * @param int $nav_item_args
68 */
69 do_action( 'jetpack_sync_updated_nav_menu_update_item', $menu_id, $menu_data, $nav_item_id, $nav_item_args );
70 }
71
72 public function remove_just_added_menu_item( $nav_item_id, $post_after ) {
73 if ( 'nav_menu_item' !== $post_after->post_type ) {
74 return;
75 }
76 $this->nav_items_just_added = array_diff( $this->nav_items_just_added, array( $nav_item_id ) );
77 }
78 }
79